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-ytracemaketest# 确保测试用例都是成功的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页面。
接下来就可以进行单步调试、设置断点等了。