我正在尝试在 Windows 上使用带有 XAMPP 的 NetBeans PHP 6.8调试一些 PHP,并在php.ini中设置xdebug。一步一步似乎工作正常,但是当 PHP 中的网站出现严重异常时,NetBeans 不会中断它。
我听说要在 Exception 上添加断点,但在 NetBeans 6.8 中找不到。Ctrl + Shift + F8 不会让我打破“异常”,只有“方法”。
正如您的评论所说,您通常需要将 remote_mode 设置为“jit”。
如果调试不起作用,您可以检查以下几点:
xdebug_break();
一行,并查看调试器是否触发。在 php.ini/xdebug.ini 文件中添加一些日志记录:
xdebug.remote_log="C:\temp\xdebug.log"
查看该日志文件以查看您是否收到提到的断点事件。
该程序使用 Zend 脚本语言引擎: Zend Engine v2.2.0,版权所有 (c) 1998-2009 Zend Technologies 使用 Xdebug v2.0.5,版权所有 (c) 2002-2008,作者 Derick Rethans
如果您没有“with Xdebug”行,即使您列出了一组完整的 xdebug 选项,您也会得到输出,xdebug_break() 调试,但没有用户设置的断点。这也可能是您的异常断点问题。
造成这种情况的一般原因是以错误的方式加载 xdebug 扩展。您需要将其加载为zend_extension=/path/to/xdebug.so
- 删除以“extension =”或“zend_extension_ts =”开头的任何其他加载它的行。
此外,如果您使用的是 xDebug,那么激活探查器可能是个好主意
在 Windows 上,您可以使用WinCacheGrind读取文件。