2

我正在尝试在 Windows 上使用带有 XAMPP 的 NetBeans PHP 6.8调试一些 PHP,并在php.ini中设置xdebug。一步一步似乎工作正常,但是当 PHP 中的网站出现严重异常时,NetBeans 不会中断它。

我听说要在 Exception 上添加断点,但在 NetBeans 6.8 中找不到。Ctrl + Shift + F8 不会让我打破“异常”,只有“方法”。

4

2 回答 2

3

正如您的评论所说,您通常需要将 remote_mode 设置为“jit”。

如果调试不起作用,您可以检查以下几点:

  • 在您的代码中添加xdebug_break();一行,并查看调试器是否触发。
  • 在 php.ini/xdebug.ini 文件中添加一些日志记录:

    xdebug.remote_log="C:\temp\xdebug.log"
    

    查看该日志文件以查看您是否收到提到的断点事件。

  • 检查 phpinfo() 看你有这样的输出:
        该程序使用 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 =”开头的任何其他加载它的行。

于 2009-12-30T10:00:03.610 回答
0

此外,如果您使用的是 xDebug,那么激活探查器可能是个好主意

在 Windows 上,您可以使用WinCacheGrind读取文件。

于 2009-12-30T10:27:14.513 回答