VSCODE 中的 PHP 7 Xdebug:如何忽略异常

2022-08-30 17:38:16

我在Visual Studio Code中使用插件PHP调试器来调试PHP代码。PHP <= 5.6都还行。调试器的工作方式就像一个超级按钮。但是当我尝试使用PHP 7调试代码时,它没有按预期工作。它不会跳到我添加的断点,我被困在thounsand excepton

发生了异常。已弃用:与其类同名的方法在未来版本的PHP中将不是构造函数;重复类型具有已弃用的构造函数

发生了异常。警告:AntlrLexer::matchAny() 的声明应与 BaseRecognizer::matchAny($input) 兼容

发生了异常。注意:尝试获取非对象的属性

这些异常是由框架生成的,所以我无法全部修复它们,我只想跳过所有这些异常并仅跳到我的断点。

我怎样才能做到这一点?谢谢。


答案 1

我不知道这是否适用于您的配置(我将PHP 7.2与WordPress一起使用),并且如果我只想逐步执行我自己的代码部分,则可以防止XDebug触发每个异常,警告,通知等。

首先,取消选中调试部分中的所有内容(包括 ,如果选中):EverythingBreakpoints

XDebug Breakpoints

然后将鼠标悬停在栏上并单击:Breakpoints+

Breakpoint bar - Add Function

现在添加要调试的函数的名称:

Add breakpoint function

最后,在该函数中设置断点。现在,您只能在该函数中触发 XDebug 单步执行:

Stepping through an XDebug session without triggering every exception

据推测,您可以根据需要添加任意数量的函数断点。有趣的是,如果您有多个具有相同名称的函数,则只需添加一次函数名称。


答案 2

在我的情况下,扩展或编辑器附带了默认情况下选中的EVERYTHING选项。取消选中所有内容复选框解决了该问题。


推荐