PHP 代码调试跟踪工具 Ytrace

分享 roketyyang ⋅ 于 7个月前 ⋅ 最后回复由 Crizer 7个月前 ⋅ 2538 阅读

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

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

本文章首发在 Laravel China 社区
本帖已被设为精华帖!
本帖由 Summer 于 7个月前 加精
回复数量: 1
  • Crizer
    7个月前

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

暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档