【问题标题】:Setting Xdebug breakpoints solely in command line仅在命令行中设置 Xdebug 断点
【发布时间】:2012-10-28 09:34:22
【问题描述】:

我正在为 PHP 维护脚本而苦苦挣扎,我正在寻找一种仅在命令行中使用 xdebug 的方法(如 gdb old-school),但我不知道如何设置断点,请执行一步-进入,跳过并继续。正如phpinfo(); 所说,Xdebug 已启动并运行。

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

感谢任何帮助。

谢谢!

【问题讨论】:

    标签: php command-line centos xdebug centos6


    【解决方案1】:

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

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

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

    然后在不同的 shell 上运行以下命令:

    • 导出 XDEBUG_CONFIG="idekey=dr"
    • php -dxdebug.remote_enable=1 yourscript.php

    调试客户端看到此连接,然后您可以发出直接 DBGP 命令。例如,对于断点,您可以设置:

    breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42

    -i 1 必须是一个递增的数字,-f 是文件,-n 是行号。设置断点后,您可以运行run -i 2 前进到该行。对于所有其他命令,我建议您参考 DBGP 文档http://xdebug.org/docs-dbgp.php

    【讨论】:

    • 由于 xdebug 包含在默认的 php 5.3 包中(我在 Ubuntu 上安装的),所以在这种情况下,有哪些步骤可以在命令行的 php 脚本上分配断点?
    猜你喜欢
    • 2021-12-31
    • 2018-01-09
    • 2014-05-28
    • 2013-12-25
    • 2019-07-16
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    相关资源
    最近更新 更多