Eclipse调试-无需断点停止

21

我正在使用Eclipse 3.4.2调试一些Java代码。尽管我已禁用了所有断点,但调试器仍会在特定行停止。这个点是在触发null指针异常之前几行。奇怪的是,当我以相同的代码/运行配置运行代码,但不使用调试器时,空指针异常就不会发生。

此外,如果我从导致null指针异常的方法的开始逐步执行该代码,并使用完全相同的输入,就没有问题。只有当我删除所有断点,但Eclipse决定在那里停下来时才会出现此问题。

为什么会发生这种情况?

3个回答

45

我曾遇到相同的问题,最终发现以下配置选项: Windows -> Preferences -> Java -> Debug -> Suspend execution on uncaught exceptions 我取消了勾选,问题随之消失。 然而,了解未捕获异常也许是有好处的。我只是禁用了它,因为问题出在Spring框架中,而不是我的代码,因此我无法进行任何更正... 希望这能有所帮助 :)


谢谢你的回答 - 我遇到了完全相同的问题,但是你的答案对我有用。 - Paul Hollingsworth
大约10年过去了,这对我仍然有效。 - fantaghirocco

18

Eclipse也支持异常断点(当抛出某个异常时停止程序)。您可以在调试器的“断点”面板中查看它们。在您的情况下,可能是ClassCastException异常。

如果该面板为空,则可能是Java VM中存在错误或者您在调试器中打开了两个进程。如果其他所有方法都失败,请尝试在Eclipse 3.5.1中进行调试。


非常感谢!那正是我的情况。 - Shpytyack Artem

4

我也遇到过这个问题,但还没有找到令人满意的答案。尝试刷新工作区、进行完整重建并重新启动Eclipse。

至少其中一个建议会有所帮助。

如果以上方法都不行,请重建或恢复您的工作区(我总是保留备份)。


我删除了我的工作区,它起作用了,希望它不会再出现。 - Ismail Marmoush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接