NetBeans + XDebug 断点无法正常工作

7
我知道有无数关于这个主题的问题,但无论我尝试了什么都没用。我遇到的问题与使用NetBeans和XDebug(如果影响任何事情,则在Windows 8.1上)时的断点相关。
问题在于没有断点有效。默认情况下,在使用NetBeans进行调试时,它会停在第一行并且确实会发生。因此,NetBeans以某种方式连接到XDebug。然而,任何其他文件中的其他断点都不起作用。
我在php.ini文件中尝试了各种不同的设置,但迄今为止没有成功。我还尝试打开XDebug日志文件,以便我可以分析发生了什么,但这也没有起作用。最后,我尝试使用设置断点,但这也没有起作用。 php.ini中的XDebug设置
;[XDebug]
; Only Zend OR (!) XDebug
zend_extension="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"

NetBeans中的项目运行配置

Project Run Configuration

Advanced Configuration

我已经查看了以下内容:

请注意,这在3天前是可以工作的,但今天没有任何断点起作用。

额外信息

我已经在命令提示符中运行了以下命令php -v,并显示了以下警告:

Warning: Module 'xdebug' already loaded in Unknown on line 0

这是什么意思?这是否意味着xdebug正在尝试加载两次?如果是这样,我不知道该如何解决。

1个回答

4
发现了问题所在。我知道这个答案非常具体,但它可能会对未来的某个人有所帮助。在检查代码时,我注意到有人添加了代码,在登录页面加载时清除了所有cookie。一旦删除了cookie,XDebug就无法工作。原因是为了使XDebug工作,它设置了一个包含会话ID的cookie,例如“netbeans-xdebug”,该cookie随着网站上的每个请求一起发送。这是一个非常简单的问题,但花了将近两天的时间才找出其中的原因。再次祝大家编码愉快!

1
谢谢!如果不是这篇文章,我永远不会想到问题可能与cookie有关。通过使用GET参数?XDEBUG_START_SESSION=ide_key而不是XDEBUG_SESSION=ide_key cookie,我成功地让我的断点起作用了! - coredumperror
1
@CoreDumpError 不客气啦!很高兴在这么长时间后,我的回复对某个人有所帮助 :D - Daniel Grima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接