Xdebug忽略NetBeans中的断点

时间:2012-11-28 10:07:36

标签: php wordpress netbeans xdebug

我正在尝试在Windows 7上调试NetBeans中的本地Wordpress实例(在xampp上)。出于某种原因,忽略了生活在Web服务器根目录中的任何文件之外的断点。

我用Google搜索了好几年,但没有用。我看过SO1SO2SO3SO4SO5SO6,但也无济于事。所有这些SO都提到路径映射。我已经映射了我的所有文件夹,但由于我的项目文件夹与我的项目文件夹相同,因此这些映射完全相同。此外,xdebug日志中的路径指向正确的文件(见下文)。

调用xdebug_break();仅在生活在网络服务器根目录中的一个文件(在我的情况下为`wp-develop')中调用时才有效,所以我怀疑我没有正确映射路径。

我的php.ini文件中与xdebug相关的部分如下所示:

[XDebug]
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 = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port=9000
xdebug.trace_output_dir = "C:\xampp\tmp"
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.remote_log = "C:\xdebugremotelog.txt"  

xdebug日志的输出如下所示:

<- breakpoint_set -i 122 -t line -s enabled -f file:///c:/xampp/htdocs/wp-develop/wp-content/themes/gap/gap.php -n 32
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="122" state="enabled" id="81240001"></response>

c:/xampp/htdocs/wp-develop/wp-content/themes/gap/gap.php是正确的道路。

我在这里缺少什么?任何帮助将不胜感激。

事实上,我认为我可能在路径映射中做错了。有人能给我一个他们应该如何看待的例子吗?

1 个答案:

答案 0 :(得分:1)

我在Windows系统上遇到过类似的问题:Eclipse断点适用于任何php命令行项目,不适用于任何Web应用程序。 我花了两个小时来解决问题。

请检查您的网络服务器是否正在侦听127.0.0.1地址而不是&#34; localhost&#34;。 为什么?因为从Vista开始,Windows使用ipv4连接到127.0.0.1,而它使用ipv6连接到&#34; localhost&#34;地址。

因此,解决方案是在所有调试堆栈上使用ipv4:

启动php内置网络服务器(任何或其他)以收听127.0.0.1

我希望这会对你有所帮助

来自意大利的问候