xdebug 远程调试不会在断点处停止

2022-08-30 11:39:37

我在使用远程调试时遇到xdebug不会在断点处停止的问题(通过命令行运行脚本时一切都很好)。它将在程序的第一行中断,然后退出,不会捕获任何断点。

它曾经工作得很好,直到我切换到使用MacPorts for Apache和PHP。我尝试过多次重新编译它(有几个版本),但没有骰子。

我使用的是 PHP 5.3.1 和 Xdebug 2.1.0-beta3

我还尝试了至少3种不同的调试程序(MacGDBp,Netbeans和JetBrains Web IDE)。

我的 php.ini 设置如下所示:

[xdebug]
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=webide

当我记录调试器输出时,设置一个断点看起来像这样/;

<- breakpoint_set -i 895 -t line -f file:///Users/WM_imac/Sites/wm/debug_test.php -n 13 -s enabled -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="895" state="enabled" id="890660002"></response>

运行时,调试器将获取应用程序第一行的上下文,然后发送分离和停止消息。

但是,此行是在启动调试器时输出的。

<- feature_get -i 885 -n breakpoint_types -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="885" feature_name="breakpoint_types" supported="1"><![CDATA[line conditional call return exception]]></response>

“行条件调用返回异常”是什么意思?


答案 1

我有这个问题,花了很长时间才找到答案。

在调试配置的服务器区域中,单击“配置”,转到“路径映射”,单击其中的路径,然后单击“编辑”,在文件系统中更改为“路径”并导航到正确的文件。

做。


答案 2

我遇到了同样的问题,最后我发现我的php.ini缺少这两个重要的设置:

xdebug.remote_autostart = "On"
xdebug.remote_enable = "On"

然后它完美地工作。


推荐