Setting Xdebug breakpoints solely in command line(仅在命令行中设置 Xdebug 断点)
问题描述
我正在为 PHP 维护脚本而苦苦挣扎,我正在寻找一种仅在命令行中使用 xdebug 的方法(如 gdb old-school),但我不知道如何设置断点,请执行一步-进入,跳过并继续.Xdebug 已启动并运行,正如 phpinfo();
所说.
I'm struggling with a PHP maintenance script and I was looking for a way to use xdebug solely in command line (like gdb old-school), but I couldn't figure out how to set a breakpoint, do a step-into, step-over and continue. Xdebug is up and running, as phpinfo();
says.
我找到了很多关于如何使用 Eclipse 和其他工具执行此操作的文档,但没有关于 CLI 的文档.有人可以帮我吗?我的环境是 Centos 6 和 Bash.
I found a lot of documentation regarding how to do this using Eclipse and other tools, but none to CLI. Could anyone help me? My environment is Centos 6 and Bash.
感谢任何帮助.
谢谢!
推荐答案
这其实是可以的.在 Xdebug 源下载中,您会找到一个名为debugclient"的目录.在此目录中,您将找到一个非常 简单的客户端,它接受原始 DBGP 命令,并以 XML 形式提供输出.要编译,请运行:
This is actually possible. In the Xdebug source downloads, you will find a directory called "debugclient". In this directory you will find a very simple client accepting raw DBGP commands, and giving output as XML. To compile, you run:
- apt-get install libedit-dev(或等效)
- ./buildconf
- ./configure --with-libedit
- 制作
然后您可以使用 ./debugclient
运行二进制文件.
You can then run the binary with ./debugclient
.
然后在不同的 shell 上运行以下命令:
On a different shell, you then run the following:
- 导出 XDEBUG_CONFIG="idekey=dr"
- php -dxdebug.remote_enable=1 yourscript.php
debugclient 看到此连接,然后您可以发出直接 DBGP 命令.例如,对于断点,您可以设置:
The debugclient sees this connection, and you then can issue direct DBGP commands. For a breakpoint, you can for example set:
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 文档dbgp.php
the -i 1
is required to be an increasing number, -f
is the file and -n
the line number. After setting the breakpoint you can then run run -i 2
to advance to that line. For all other commands, I'd refer you to the DBGP documentation at http://xdebug.org/docs-dbgp.php
这篇关于仅在命令行中设置 Xdebug 断点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:仅在命令行中设置 Xdebug 断点
基础教程推荐
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01