PHP 代码调试跟踪工具 Ytrace

分享 roketyyang ⋅ 于 2017-12-01 10:37:05 ⋅ 最后回复由 Crizer 2017-12-04 14:44:42 ⋅ 2046 阅读

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 于 2周前 加精
回复数量: 1
  • Crizer
    2017-12-04 14:44:42

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

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter