如何使用 Intellij Idea 的异常断点

2022-08-31 23:53:52

这似乎是一个愚蠢的问题,但我不知道如何在Intellij Idea中调试异常。谷歌搜索也无济于事。

我尝试创建异常断点。当IDEA中断时,我希望它能给我一个调用堆栈,显示导致引发异常的方法以及自动监视窗口,就像Visual Studio的调试工具一样。相反,它显示有关 或 的各种乱码消息,但在运行时没有实际异常的迹象。LauncherClassLoader

那么,IDEA的异常断点究竟应该如何使用呢?


答案 1

它运行得很好,我真的不知道你在启动器或ClassLoader上遇到了什么样的问题。可能是您选择了捕获,这意味着它也将在启动和类加载期间捕获各种异常。您必须对要捕获的异常做出具体选择,或者只是遍历它们,直到捕获异常为止。Any exceptions

无论如何,我将向您展示我如何设置一个非常简单的案例,您会发现它运行得非常好。

我有一个简单的案例,一个将被抛出。NullPointerException

首先,必须设置异常断点。

按 ++ 进入窗口。然后按左上角的小+号。View Breakpoints...CtrlShiftF8

enter image description here

输入 NullPointerException 并按 按钮。OK

enter image description here

确保未选中 。Any exception

现在,通过在 main 方法内部单击鼠标右键来运行程序,然后选择Debug 'SomeClass.main()'

enter image description here

最后,观察何时捕获异常,您将拥有所有预期的东西,例如调用堆栈监视窗口

enter image description here


答案 2

我终于自己想通了。在窗口中,选中但取消选中 的标记。启动器和类装入器异常由 JVM 在内部捕获和处理。这样,将捕获任何用户异常,而无需手动指定异常类型。View BreakpointsAny ExceptionCaught exception