仅在命令行中设置Xdebug断点

时间:2012-11-08 07:56:36

标签: php command-line centos xdebug centos6

我正在努力使用PHP维护脚本,而我正在寻找一种仅在命令行中使用xdebug的方法(比如gdb old-school),但我无法弄清楚如何设置断点,做一步-into,step-over并继续。正如phpinfo();所说,Xdebug正在运行。

我发现了许多关于如何使用Eclipse和其他工具执行此操作的文档,但没有找到CLI。谁能帮助我?我的环境是Centos 6和Bash。

感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:7)

这实际上是可行的。在Xdebug源代码下载中,您将找到一个名为“debugclient”的目录。在此目录中,您将找到一个非常简单客户端,接受原始DBGP命令,并以XML格式提供输出。要编译,请运行:

  • apt-get install libedit-dev(或等效的)
  • ./ buildconf
  • ./ configure --with-libedit
  • 使

然后,您可以使用./debugclient运行二进制文件。

在另一个shell上,然后运行以下命令:

  • export XDEBUG_CONFIG =“idekey = dr”
  • php -dxdebug.remote_enable = 1 yourscript.php

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文档