我開發的一款PHP線上除錯工具

TTATTC發表於2018-03-01

以Discuz論壇為例探討該工具的使用線上演示地址

1.png
1.debugtoolbar功能 a.html頁面的右下角自動顯示除錯工具條 b.工具條的第一行直觀的顯示PHP執行的時間,MYSQL查詢時間,以及消化記憶體 c.工具條的第二行是多功能性連線 d.Error可以直達該頁面的錯誤列表 從該頁面可以看出discuz還是有很多不規範的地方 該頁面指出了錯誤的檔案及所在的行號,點選行號連線可以立即跳轉到PHPstorm,方便錯誤的糾正
7.gif
e.hist:顯示請求的歷史(總歷史),只要不刪除tmp記錄檔案,該請求記錄可以長期保留 點進去每一條歷史記錄可以進入trace詳情 該列表按請求最近到最遠依次排列:依次顯示,請求時間-時間戳:請求方法:路徑(域名-請求IP)點選IP可查地理位置 f.上面的列表當太長的時候無法分辨時間點,有個頁面不帶?hist的,顯示最近的請求列表
3.png
g.hide:隱藏除錯工具條 h.當除錯cookie開啟trace頁面可以顯示最近的幾次除錯列表,可以很方便地看出最近的請求,並點選進入他們的trace
4.png
i.clear:使用者清除上述最近的除錯列表 j.db:使用者檢視資料庫訪問的SQL,括號裡的數字代表當前頁面請求的SQL計數 k.trace:用於開啟當前頁面的執行軌跡詳情頁 l.[start]:用於開啟當前網站除錯;[stop]:停止當前網站除錯;如果感覺trace很佔用效能,可以隨時關閉開啟 m.trace頁面詳解
9.gif
該頁面主要有四部分 (1).執行軌跡 第一行顯示函式呼叫的次數,執行時間,記憶體消耗,快速檢視DB介面,頁面輸出內容 第二行,摺疊所有,展開所有,展開層級 接下來是一個樹形列表,第一列:函式編號;第二列:呼叫深度;第三列:消耗時間;第四列:函式名,滑鼠懸浮可以檢視函式的引數,雙擊可在瀏覽器console裡列印引數,便於拷貝,如果是綠色的,還可看內層函式呼叫;第五列:函式呼叫次數;第六列:當前呼叫所在的檔案及行號,點選行號可跳轉到原始碼進行編輯;第七列:顯示消耗記憶體; 最後一行顯示總消耗時間 (2).請求引數,重放按鈕 第一行:請求的方法(如果是ajax,會顯示ajax_);請求的URL地址,點選可以跳轉到響應的地址,最後是Replay連線,重放請求(需要允許瀏覽器彈出視窗,主要觀察位址列右側圖示,點選允許) (3).函式概覽 (按函式名稱進行聚合運算) 第一列:序號;第二列:函式名稱;第三列:呼叫次數;第四列:總消耗時間 (4).檔案概覽 顯示改頁面所需要的檔案列表,點選同樣可以開啟原始碼進行編輯 (5).右下角顯示最近的除錯記錄,可以清除除錯列表 xdebug-trace記錄執行軌跡特點:以html的層級形式展示執行路徑 n.db頁面詳解 (1).呼叫地址,點選可調到對應頁面trace (2).表過濾功能,顯示錶被查詢了幾次 (3).呼叫總覽,總查詢數,消耗時間,摺疊\展開功能 (4).資料庫查詢表格,點選表頭有排序功能 第一列:編號,點選編號可跳轉到呼叫堆疊對應的程式碼,同時trace裡如果有查詢,可以調到該列表 第二列:表名稱,第三列:查詢消耗時間,第四列:查詢語句,第五列:查詢型別 第六列:展開查詢,可以觀察具體資料
11.gif
12.gif
13.gif
14.gif
15.gif

相關文章