我正在为 PHP 维护脚本而苦苦挣扎,我一直在寻找一种仅在命令行中使用 xdebug 的方法(例如 gdb old-school),但我不知道如何设置断点,一步步执行,跳过并继续。如前所述,Xdebug 已启动并正在运行phpinfo();
。
我找到了很多关于如何使用 Eclipse 和其他工具执行此操作的文档,但没有关于 CLI 的文档。有人可以帮我吗?我的环境是 Centos 6 和 Bash。
任何帮助表示赞赏。
谢谢!
我正在为 PHP 维护脚本而苦苦挣扎,我一直在寻找一种仅在命令行中使用 xdebug 的方法(例如 gdb old-school),但我不知道如何设置断点,一步步执行,跳过并继续。如前所述,Xdebug 已启动并正在运行phpinfo();
。
我找到了很多关于如何使用 Eclipse 和其他工具执行此操作的文档,但没有关于 CLI 的文档。有人可以帮我吗?我的环境是 Centos 6 和 Bash。
任何帮助表示赞赏。
谢谢!
这实际上是可能的。在 Xdebug 源下载中,您会找到一个名为“debugclient”的目录。在这个目录中,您会发现一个非常简单的客户端,它接受原始 DBGP 命令,并以 XML 形式提供输出。要编译,请运行:
然后,您可以使用./debugclient
.
然后在不同的 shell 上运行以下命令:
debugclient 看到此连接,然后您可以发出直接 DBGP 命令。对于断点,您可以例如设置:
breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42
需要-i 1
是一个递增的数字,-f
是文件和-n
行号。设置断点后,您可以运行run -i 2
以前进到该行。对于所有其他命令,我建议您参阅http://xdebug.org/docs-dbgp.php上的 DBGP 文档