我在使用远程调试时遇到 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>
“线路条件调用返回异常”有什么意义吗?
原文由 Bryan M. 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了这个问题,花了很长时间才找到答案。
在您的调试配置中,在服务器区域中,单击配置,转到路径映射,单击那里的路径并单击编辑,更改为文件系统中的路径并导航到正确的文件。
完毕。