Ytrace是一個PHP代碼調(diào)試跟蹤工具,通過將PHP代碼執(zhí)行過程記錄到文件中,再通過webui界面展示出來,并且支持單步調(diào)試的方式去查看執(zhí)行過程。
主要特性:
可以可視化的看到源碼文件哪些行被執(zhí)行了
通過點擊行號,直接將執(zhí)行跳轉(zhuǎn)到對應的地方
根據(jù)單步歷史,往回執(zhí)行
設置斷點
該調(diào)試工具由三部分組成:
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-ytracemaketest# 確保測試用例都是成功的make install
ini配置示例:
extension=ytrace.so
ytrace.output_dir=/tmp/ytrace# 跟蹤文件輸出目錄,確保有寫權(quán)限ytrace.output_format=%R_%t# 跟蹤文件命名格式
ytrace.enable_trigger=1# 使用觸發(fā)的方式開啟跟蹤
ytrace.enable_trigger_value=ytrace# 觸發(fā)匹配的值
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/開啟開發(fā)者模式,選擇加載未打包的擴展
4、使用
打開需要調(diào)試的頁面,點擊chrome擴展,點擊右上角的開關(guān)開啟,勾選YTRACE_TRIGGER,對應表單中填寫ytrace(ini中配置的觸發(fā)值),提交。需要的話還可以設置跟蹤文件的白名單、黑名單,記錄變量值時的選項。

刷新頁面,再到http://localhost:8088就能看到有跟蹤文件列出來了,如下圖:

點擊跟蹤文件打開Source頁面。

接下來就可以進行單步調(diào)試、設置斷點等了。