PHP 代码调试跟踪工具 Ytrace

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页面。

接下来就可以进行单步调试、设置断点等了。

本帖已被设为精华帖!
本帖由 Summer 于 6年前 加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

?/n
原谅我把web ui看成了we bui.....

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!