原理:
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下也都測試過,但還是不敢保證在你的環境下不出錯,如有,請自行修正.
linux可疑程式追蹤
今天的主角是旁邊的伺服器,學姐的fedora。發生的情況和我的那台ubuntu類似。看來是一起被黑了 其實昨天已經發現學姐的系統出問題了,採取的措施和我那台一樣,iptables直接drop和可疑ip的連線。今天學姐說,又出現了大流量的上行,而且似乎是通過smb 乙個傳輸工具,可以不改變許可權 她擔...
Struts2 debug除錯請求過程追蹤
1.在伺服器啟動的時候載入資源 struts default.xml,struts plugin.xml,struts.xml 具體實現 package org.apache.struts2.dispatcher provide list of default configuration files...
C 除錯追蹤class成員變數的方法
比如 int foo int arg 記住要和另乙個指標函式區分開來,類似這樣 int foo int arg 比如我們可以這樣宣告乙個變數和函式 複製 如下 int pfun int arg 0 int fun int arg 這個函式實現隨便啦,我就不寫了。如果我們想利用函式指標操作函式,就和指...