訓練家的佈弱格-Patch1.2

The BLOG of trainer



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

類型:網頁設計心得
作者:羽山
文章時間:2010-07-15 15:30:00
瀏覽人數:4588人
標題: 在 PHP 中 debug 的小技巧
網址:http://59.126.75.42/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

最新訓練
(2025-03-16)
【HONDA CBR1000RR】CBR1000RR 引擎怪聲內鏈調整器維修

(2025-03-13)
【KTM 390】KTM RC390 更換左前叉油

(2025-03-04)
【NSR 150】NSR150 排氣管尾管鑽孔排油

(2025-03-01)
【KTM 390】KTM Duke 390 更換內鏈調整器 排氣管上耐熱漆

(2025-02-15)
【KTM 390】KTM Duke 390 前叉漏油維修更換前叉油封

(2025-02-14)
【機車綜合相關】玩車工具篇

(2025-01-15)
【本田 MSX-125】MSX-125 單向閥、呼吸管清潔保養、更換安裝位置、頭罩重噴

(2025-01-14)
【木工】製作門擋

(2024-12-22)
【KTM 390】KTM RC390 更換後輪

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