Xdebug 忽略断点

2022-08-30 21:12:17

我目前正在尝试让Xdebug在我们的开发服务器上工作。作为客户端,我正在使用netbeans,到目前为止,连接没有问题。但是,当我尝试在 netbean 中设置断点时,它只会被忽略。

是的,我已经在谷歌上搜索了几个小时,并且还在这里找到了一些完全符合我描述的问题:SO 1 SO 2

但这对我来说似乎并没有解决它。该模块通过 zend_extension=path/to/xdebug 加载。所以在Xdebug

/etc/php5/conf.d/xdebug.ini

我还查看了 php5/apache 和 php5/cli php.ini以确保它没有在某个地方加载 extension=。我还检查了phpinfo()找到的“解析的其他.ini文件”,它似乎没有其他地方加载。

通过执行php -m,我可以看到加载的Xdebug模块

[PHP Modules]

[Zend Modules]

不确定这是否表明它仍然加载了两次,或者它是否像这样很好?不过,如果我从 conf.d/xdebug 中删除 .ini它也不再加载。所以我真的假设它只是在那里加载。zend_extension=/path/to/xdebug.so

如果我设置了remote_log选项是看到正在尝试设置某些内容:Netbeans

<- breakpoint_set -i 452 -t line -s enabled 
   -f file:///http:/development.xxx.de/users/itsame/index.php -n 15
-> <response xmlns="urn:debugger_protocol_v1"
    xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
          transaction_id="452" state="enabled" id="258870001">   
    </response>

但它似乎没有效果(看起来和我上面发布的其他SO问题几乎相同。但是如果我在php代码中手动xdebug_break(),它会正确地处理它。

PHP版本是5.2.6,Xdebug是2.1。有什么建议可以让我接下来看看吗?


答案 1

包含断点的文件的路径似乎有问题。

<- breakpoint_set -i 452 -t line -s enabled 
   -f file:///http:/development.xxx.de/users/itsame/index.php -n 15 ->

我在Eclipse上也遇到了类似的问题。只有索引文件中的断点被接受,其他文件中的断点(包含在索引中)被忽略。

我查看了remote_log文件,看到了以下内容:

<- breakpoint_set -i 260 -t line 
   -f file:///~jeroen/workspace/fieg/wp-content/plugins/fieg/fieg.php -n 22-> 
<response xmlns="urn:debugger_protocol_v1" 
   xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
   transaction_id="260" id="48060002"></response>

我注意到断点的路径全部错误。事实证明,我必须在 Eclipse 中设置端口映射。设置正确的映射后,断点开始工作。此外,我的remote_log现在显示正确的路径:

<- breakpoint_set -i 333 -t line 
   -f file:///Users/jeroen/Workspace/fieg/wp-content/plugins/fieg/fieg.php -n 12->     
<response xmlns="urn:debugger_protocol_v1" 
   xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
   transaction_id="333" id="48080005"></response>

我不确定 Netbeans 中是否有与 Eclipse Port Mapping 配置等效的配置,但希望我能为您指出一个好的方向。


答案 2

对我来说,问题是“>源>Web Root:”的项目属性没有设置(它有一个默认值“作为其值)。

将其设置为磁盘上的 Web 根目录后,断点开始工作。


推荐