xdebug 不激活断点

Posted

技术标签:

【中文标题】xdebug 不激活断点【英文标题】:xdebug does not activate the breakpoint 【发布时间】:2013-06-27 06:10:39 【问题描述】:

我正在使用 Netbeans 来执行我的项目(codeigniter),并且我的 xdebug 是在 php ini 中配置的。以下是设置:

zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ;xdebug.profiler_append = 0 ;xdebug.profiler_enable = 1 ;xdebug.profiler_enable_trigger = 0 ;xdebug.profiler_output_dir = "C:\xampp\tmp" ;xdebug.profiler_output_name = "cachegrind.out.%t-%s" xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.remote_autostart = 1 xdebug.idekey = "netbeans-xdebug" xdebug.remote_log="C:\xampp\tmp\xdebug.log" xdebug.remote_port=9001

php 信息显示 xdebug 已激活。我在登录方法中的变量上设置断点并开始调试。出现登录页面的链接:

localhost/goldilock/index.php?XDEBUG_SESSION_START=netbeans-xdebug

登录后,断点未激活,无法调试,链接的 XDEBUG_SESSION_START=netbeans-xdebug 部分消失。

有什么办法可以激活调试。我找不到任何将调试器激活到断点的解决方案。

xdebug.log 说明如下:

日志于 2013-07-01 05:40:22 打开 I:连接到配置的地址/端口:127.0.0.1:9000。 E: 无法连接到客户端。 :-( 日志于 2013-07-01 05:40:23 关闭 日志于 2013-07-01 05:40:35 打开 I:连接到配置的地址/端口:127.0.0.1:9000。 E: 无法连接到客户端。 :-( 日志于 2013-07-01 05:40:36 关闭 日志于 2013-07-01 05:40:38 打开 I:连接到配置的地址/端口:127.0.0.1:9000。 E: 无法连接到客户端。 :-( 日志于 2013-07-01 05:40:39 关闭 日志于 2013-07-01 05:40:39 打开 I:连接到配置的地址/端口:127.0.0.1:9000。 E: 无法连接到客户端。 :-( 日志于 2013-07-01 05:40:40 关闭

【问题讨论】:

【参考方案1】:

这是我在 Derick 的回答的帮助下所做的:

第 1 步:将 xdebug.remote_port=9000 更改为 xdebug.remote_port=9001

第二步:

    更改 Netbeans 中的调试端口。转到工具>>选项>>单击PHP选项卡 在 PHP 标签下点击调试 更改调试器端口:9001 更改会话 ID:netbeans-xdebug

第 3 步:重启服务器和 netbeans

第 4 步:设置断点并尝试

【讨论】:

在尝试让 xdebug 连接到 Netbeans 几天后,这救了我。谢谢兄弟【参考方案2】:

首先,您确实需要打开xdebug.remote_enable=1 — 否则,调试将不会被激活并且无法工作。

对于第一次“登录”之后的请求,xdebug.remote_autostart 应该处理它,但 Netbeans 可能不接受新传入的调试连接。要找出 Xdebug 正在尝试做什么,请添加设置 xdebug.remote_log=c:\temp\xdebug.log 并调查日志中的内容。 (您可能需要更改路径)。

【讨论】:

我已经编辑了这个问题。请帮我解释一下日志。谢谢。

以上是关于xdebug 不激活断点的主要内容,如果未能解决你的问题,请参考以下文章

xdebug未经验证的断点

netbeans工具使用xdebug断点调试php源码

phpstorm+Xdebug断点调试PHP

phpstorm + xdebug 远程断点调试

PHPstudy + phpstrom +xdebug 断点调试(windows) - CSDN博客

使用 PHPStorm + Xdebug 实现断点调试