2010-08-06 141 views
19

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

,是的,我已经用Google搜索了几个小时,也发现这里一些问题,完全适合我的描述: SO 1 SO 2

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

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

我也看了一下PHP5/Apache和PHP5/CLI php.ini中,以确保它不加载扩展=某处。我还检查了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问题。但是,如果我做一个手动xdebug_break()的PHP代码里面HANDELS正确。

PHP版本5.2.6是和Xdebug是2.1。 任何建议,我可以看看下一个?

+0

似乎怀疑它出现在PHP Modules和Zend Modules中,但我不知道如何发生。您是否在http://xdebug.org/find-binary.php上尝试了“定制安装说明”? – mjs 2010-08-06 21:34:46

+0

嗨,很抱歉,迟到的回复周末已经离开了,我在星期三之前不回到办公室。但是,我会试一试,谢谢。 – enricog 2010-08-09 09:57:10

+0

嗨,刚刚尝试了定制安装说明,但没有改变任何东西。实际上,我认为它与pecl install的做法非常相似。它还告诉我“你已经在运行最新的Xdebug版本”。 – enricog 2010-08-11 11:23:35

回答

10

它看起来像re是包含断点的文件的路径有问题。

<- 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的端口映射配置的等效,但希望我指出你在好的方向发展。

+1

谢谢!这真的让我意识到了正确的方向。问题在于路径映射。似乎你必须映射所有需要的文件夹,不仅仅是父文件夹,还可以看到:http://wiki.netbeans.org/HowToConfigureXDebug#Tips_from_the_NetBeans_Forums – enricog 2011-02-14 09:25:27

+0

坚韧我现在无法测试所有文件夹的映射,Netbeans似乎有一个错误,所以我目前无法添加/编辑服务器路径。艰难的看起来应该是有用的,如果有人对这个问题进行了解决。对我来说,它现在奇怪的工作也没有任何映射。所以再次感谢我指点正确的方向;) – enricog 2011-02-14 09:29:09

+0

谢谢!虽然我偶然发现了“端口映射”。应该是“路径映射”,对不对? – 2017-01-16 11:29:48

2

转到:Project > Properties > Run Configuration > Advanced (button)

从“路径映射”删除所有映射,如果你不使用Xdebug的用于远程调试。这将有助于解决这个问题。

3

在php.ini文件中,设置这个指令:

report_zend_debug = 1 

我希望帮助别人?

2

该问题提到xdebug.ini文件存在,但不报告其内容。 我的默认安装的文件只包括:

zend_extension=/usr/lib/php5/20100525/xdebug.so 

但是为了调试实际发生,必须将其启用。加入这一行:

xdebug.remote_enable=1 

然后phpinfo()将报告功能的XDebug:

enter image description here

+0

对图像+1(它使我重新认识到我最近重新安装了WAMP,并忘记再次更改)如果您使用的是WAMP,请从WAMP图标进入您的php.ini,并将行更改为“xdebug.remote_enable = on “(来自'off') – BillyNair 2015-09-28 16:03:09

3

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

将其设定为在磁盘上我的网站根目录后,断点开始工作。

+0

我在谈论Netbeans 8.0中的项目设置 – drstockz 2014-07-04 17:34:17

1

我碰到这个帖子试图解决我的eclipse中的xdebug问题,而不是在Web应用程序的中断点。我发现这里的评论非常有用。此外,这个帖子http://www.devside.net/wamp-server/netbeans-waiting-for-connection-netbeans-xdebug-issue来解决我的问题非常方便。我只需在我的相关php.ini中设置以下标志。

xdebug.remote_enable = 1

Xdebug的将在会话,但设置远程调试标志的会话等待的问题,突破点问题,也是我已经定义也开始登录交易Xdebug的日志文件后,继续等待。

0

另一种可能的解决方案,只是为我工作,试图在这个岗位后一切,在许多人的一个...

我在Windows上调试PHP项目,通过了XDebug Eclipse的霓虹灯。源代码是远程Linux,通过SFTP本地安装为驱动器。这可能是我自己的错,这是不正确设置...

在Eclipse中,右键单击您的项目,然后选择Configure,然后Add PHP Support。立即开始DLTK索引;在此之前,无论如何它都不会启动。

然后我不得不打开我的源并通过远程文件资源管理器设置断点。我希望这可以帮助别人。

0

我有同样的问题:Eclipse断点没有工作,xdebug_break()确实工作。我的问题是路径中的空格:

<- breakpoint_set -i 1323 -t line -f file:///Users/admin/Documents/projects/something/path%2520with%2520space/web/index.php -n 223 
-> 
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1323" id="385680235"></response> 

将路径更改为无空格的路径后,Eclipse中的断点工作正常。