Ytrace是一個PHP程式碼除錯跟蹤工具,通過將PHP程式碼執行過程記錄到檔案中,再通過webui介面展示出來,並且支援單步除錯的方式去檢視執行過程。
主要特性:
- 可以視覺化的看到原始碼檔案哪些行被執行了
- 通過點選行號,直接將執行跳轉到對應的地方
- 根據單步歷史,往回執行
- 設定斷點
該除錯工具由三部分組成:
- webui介面:github.com/yangxikun/y…
- PHP擴充套件:github.com/yangxikun/y…
- Chrome擴充套件:github.com/yangxikun/y…
使用介紹:
1、安裝PHP擴充套件
git clone https://github.com/yangxikun/ytrace
phpize
./configure --enable-ytrace
make test # 確保測試用例都是成功的
make install複製程式碼
ini配置示例:
extension=ytrace.so
ytrace.output_dir=/tmp/ytrace # 跟蹤檔案輸出目錄,確保有寫許可權
ytrace.output_format=%R_%t # 跟蹤檔案命名格式
ytrace.enable_trigger=1 # 使用觸發的方式開啟跟蹤
ytrace.enable_trigger_value=ytrace # 觸發匹配的值複製程式碼
2、安裝webui
git clone https://github.com/yangxikun/ytrace_gui
cd ytrace_gui
composer install # 安裝依賴的php庫
php -S localhost:8088複製程式碼
訪問http://localhost:8088。預設的,ytrace_gui會通過ini_get獲取ytrace.output_dir的值。如果需要的話,你可以通過編輯index.php,修改//define('YTRACE_OUTPUT_DIR', '/tmp/ytrace/');,以設定ytrace的輸出目錄。
3、安裝chrome擴充套件
git clone https://github.com/yangxikun/ytrace_chrome_extension
在chrome瀏覽器開啟:chrome://extensions/
開啟開發者模式,選擇載入未打包的擴充套件複製程式碼
4、使用
開啟需要除錯的頁面,點選chrome擴充套件,點選右上角的開關開啟,勾選YTRACE_TRIGGER,對應表單中填寫ytrace(ini中配置的觸發值),提交。需要的話還可以設定跟蹤檔案的白名單、黑名單,記錄變數值時的選項。
重新整理頁面,再到http://localhost:8088就能看到有跟蹤檔案列出來了,如下圖:
點選跟蹤檔案開啟Source頁面。
接下來就可以進行單步除錯、設定斷點等了。