訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2010-07-15 15:30

類型:網頁設計心得
作者:羽山
文章時間:2010-07-15 15:30:00
瀏覽人數:4198人
標題: 在 PHP 中 debug 的小技巧
網址:http://sunnyriver.3wa.tw/blog/blog.php?id=1066
內容:
 

Dear All~

 

今天來分享一下一些簡單的 debug 技巧

 

通常我們會把 error_report 打開來看,但進階一點,我們可以查看

 

/var/log/httpd/error.....

 

但如果今天所發生的都不是程式寫作上的錯誤,但我們又需要把變數印出來觀察,我們可以利用簡單的函式來幫我們處理~

這支程式我們將之儲存為 a.php

 

# cat a.php

 

內容如下:

<?
   function debug($variable){
    foreach($GLOBALS as $key => $value){
      // 在篇加入了 debug_backtrace
      $gINFO=debug_backtrace();
      if($variable===$value){

        echo '$'.$key.' => '.$value." 在 {$gINFO[0]['file']} 的第{$gINFO[0]['line']} 行\n";
      }
    }

  }
  $a="orz";
  $test="3WA_".time();
  ${$test}="羽山大帥哥";
  debug($a);
  debug($test);
  debug(${$test});

?>

 

簡單的用了幾個東西,debug_backtrace﹑$GLOBALS list~

 

嘗試執行的結果為:

 

$a => orz 在 /root/php/a.php 的第 15 行
$test => 3WA_1279175946 在 /root/php/a.php 的第 16 行
$3WA_1279175946 => 羽山大帥哥 在 /root/php/a.php 的第 17 行

 

看吧~我們可以輕鬆的把傳入 debug 用的變數 再度抓取出來列印

同時還可以利用 debug_backtrace 來看看錯在哪個檔案,的哪一行

 

簡單的小小 sample 啦~

 

不過以上並沒有嚴格的測試~

建議還是多參考一下各家的開發套件是怎實作除錯的功能~如 xoops debug message~

 

參考資料:

http://php.net/manual/en/function.get-defined-vars.php

http://us2.php.net/debug_backtrace

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【0】
其他分類
當月訓練
(2010-07-31)
【網誌】螺絲滑牙攻牙工具心得

(2010-07-15)
【網頁設計心得】在 PHP 中 debug 的小技巧

(2010-07-14)
【網頁設計心得】影像數字辨識 ocr

最新訓練
(2024-12-22)
【KTM 390】KTM RC390 更換後輪

(2024-12-17)
【木工】三樓客廳椅子維修

(2024-12-17)
【出遊】聯合大學一日遊

(2024-12-02)
【NSR 150】NSR150 改裝回 14T

(2024-11-04)
【酷龍 150】酷龍150 換新鏈條 里程:39250km

(2024-10-31)
【機車綜合相關】煞車檢測筆測量電阻範圍

(2024-10-29)
【機車綜合相關】拆胎特工-輪胎拆胎架

(2024-10-25)
【NSR 150】NSR150 更換前煞車油(簡易) 43177km

(2024-10-25)
【網誌】加密文章測試

(2024-10-19)
【本田 MSX-125】MSX-125 更換前輪軸承