如何使用Intellij Idea的异常断点

时间:2013-05-15 13:59:59

标签: java debugging exception intellij-idea

这似乎是一个愚蠢的问题,但我无法弄清楚如何在Intellij Idea中调试异常。谷歌搜索也没有帮助。

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

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

2 个答案:

答案 0 :(得分:62)

它的效果非常好,而且我真的不知道你使用Launcher或ClassLoader会遇到什么样的问题。可能是您已选择捕获Any exceptions,这意味着它将在启动和类加载期间捕获所有类型的异常。您必须对要捕获的异常做出具体选择,或者只是在捕获异常之前全部检查它们。

无论如何,我会告诉你我如何设置一个非常简单的案例,你会发现它工作得很好。

我有一个简单的案例,其中会抛出NullPointerException

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

Ctrl + Shift + F8 进入View Breakpoints...窗口。然后按左上角的小 + 符号。

enter image description here

输入NullPointerException并按下OK按钮。

enter image description here

确保未选中Any exception

现在通过右键单击main方法并选择Debug 'SomeClass.main()'

来运行程序

enter image description here

最后观看异常情况时,您将获得所需的所有内容,例如调用堆栈观看窗口

enter image description here

答案 1 :(得分:9)

我终于想通了自己。在View Breakpoints窗口中,选中Any Exception,但取消选中Caught exception的标记。启动程序和类加载器异常由JVM内部捕获和处理。这样就可以捕获任何用户异常,而无需手动指定异常类型。

相关问题