PHP 程式碼除錯跟蹤工具 Ytrace

坤_在路上發表於2017-12-04

Ytrace是一個PHP程式碼除錯跟蹤工具,通過將PHP程式碼執行過程記錄到檔案中,再通過webui介面展示出來,並且支援單步除錯的方式去檢視執行過程。

主要特性:

  • 可以視覺化的看到原始碼檔案哪些行被執行了
  • 通過點選行號,直接將執行跳轉到對應的地方
  • 根據單步歷史,往回執行
  • 設定斷點

該除錯工具由三部分組成:

使用介紹:
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頁面。


接下來就可以進行單步除錯、設定斷點等了。

相關文章