訓練家的佈弱格-Patch1.2

The BLOG of trainer



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

類型:網頁設計心得
作者:羽山
文章時間:2010-07-15 15:30:00
瀏覽人數:3566人
標題: 在 PHP 中 debug 的小技巧
網址:http://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-03-09)
【HONDA CBR1000RR】CBR1000RR 原廠管

(2024-02-24)
【NSR 150】NSR150 整理後卡鉗

(2024-02-14)
【機車綜合相關】買了牧田的打氣機與心得

(2024-02-10)
【NSR 150】NSR150 整流器接頭重作

(2024-02-09)
【機車綜合相關】鋰電、鋰鐵電池、電源充電器

(2024-01-07)
【NSR 150】NSR150 貨架耳朵斷裂維修

(2024-01-06)
【KTM 390】KTM Duke390 維修發電問題 電盤內仁

(2023-12-29)
【NSR 150】NSR150 改可調拉桿

(2023-11-20)
【遊戲 / 生活】防盜洗手罐

(2023-11-17)
【KTM 390】KTM Duke390 製作鋰鐵電池