原理:
1.程式執行的過程中,在相應的地方記錄你想要追蹤的變數及調用棧和每次函數調用的參數,
把這些資訊以一定的格式記錄到檔案,一個變數一行,具體資料格式請參看代碼,這裡不細講.
2.現在有了每次記錄變數時的所有資訊(包括調用棧及參數),當你通過瀏覽器訪問這個程式時, 這個程式會把整個檔案讀取分析,
在頁面顯示你的所有調試資訊,並且它會動態ajax重新整理,保持與你的調試同步.
畫個圖吧,要清晰得多.
BackTrace也就是調用棧資訊,沒有在圖中體現,是ajax動態重新整理的.
功用:
再截幾個原生圖說明下:
1.包含檔案,調試變數(上面是程式,下面是apache_request_headers()的調試輸出)
2.drupal系統某次函數的調用棧列表
3.棧中某個函數的調用參數
後記:
程式基本上實現了調試,追蹤php變數的功能,還附帶了調用棧及調用參數查看功能.
現在echo,print_r,var_dump等系統函數,如非必要時,本人已很少用來調試輸出了,基本上用這個就可以得到想要的東西了.
特別是像drupal這類複雜的系統,能夠清楚地知道程式是怎麼執行的.
說明:
程式是用php4的寫法寫成的,在php4.4.8, 5.2.5上測試過, 理論上是支援php4, php5的.
linux, window, ie6-7, firefox下也都測試過,但還是不敢保證在你的環境下不出錯,如有,請自行修正.
請不讓log檔案超過5M大小,瀏覽器可能會崩潰的.
下載地址 http://www.jb51.net/codes/20851.html
http://www.bkjia.com/PHPjc/320486.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/320486.htmlTechArticle原理: 1.程式執行的過程中,在相應的地方記錄你想要追蹤的變數及調用棧和每次函數調用的參數, 把這些資訊以一定的格式記錄到檔案,一個...