PHP 代码调试跟踪工具 Ytrace

Ytrace是一个PHP代码调试跟踪工具,经过将PHP代码执行过程记录到文件中,再经过webui界面展现出来,而且支持单步调试的方式去查看执行过程。php

主要特性:git

  • 能够可视化的看到源码文件哪些行被执行了
  • 经过点击行号,直接将执行跳转到对应的地方
  • 根据单步历史,往回执行
  • 设置断点

该调试工具由三部分组成:github

使用介绍:
一、安装PHP扩展web

git clone https://github.com/yangxikun/ytrace
phpize
./configure --enable-ytrace
make test # 确保测试用例都是成功的
make install复制代码

ini配置示例:chrome

extension=ytrace.so
ytrace.output_dir=/tmp/ytrace # 跟踪文件输出目录,确保有写权限
ytrace.output_format=%R_%t # 跟踪文件命名格式
ytrace.enable_trigger=1 # 使用触发的方式开启跟踪
ytrace.enable_trigger_value=ytrace # 触发匹配的值复制代码

二、安装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的输出目录。bash

三、安装chrome扩展composer

git clone https://github.com/yangxikun/ytrace_chrome_extension
在chrome浏览器打开:chrome://extensions/
开启开发者模式,选择加载未打包的扩展复制代码

四、使用
打开须要调试的页面,点击chrome扩展,点击右上角的开关开启,勾选YTRACE_TRIGGER,对应表单中填写ytrace(ini中配置的触发值),提交。须要的话还能够设置跟踪文件的白名单、黑名单,记录变量值时的选项。
工具

刷新页面,再到http://localhost:8088就能看到有跟踪文件列出来了,以下图:
测试

点击跟踪文件打开Source页面。

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