我正在使用Eclipse 3.4.2调试一些Java代码。尽管我已禁用了所有断点,但调试器仍会在特定行停止。这个点是在触发null指针异常
之前几行。奇怪的是,当我以相同的代码/运行配置运行代码,但不使用调试器时,空指针异常就不会发生。
此外,如果我从导致null指针异常
的方法的开始逐步执行该代码,并使用完全相同的输入,就没有问题。只有当我删除所有断点,但Eclipse决定在那里停下来时才会出现此问题。
为什么会发生这种情况?
我曾遇到相同的问题,最终发现以下配置选项: Windows -> Preferences -> Java -> Debug -> Suspend execution on uncaught exceptions 我取消了勾选,问题随之消失。 然而,了解未捕获异常也许是有好处的。我只是禁用了它,因为问题出在Spring框架中,而不是我的代码,因此我无法进行任何更正... 希望这能有所帮助 :)
Eclipse也支持异常断点(当抛出某个异常时停止程序)。您可以在调试器的“断点”面板中查看它们。在您的情况下,可能是ClassCastException异常。
如果该面板为空,则可能是Java VM中存在错误或者您在调试器中打开了两个进程。如果其他所有方法都失败,请尝试在Eclipse 3.5.1中进行调试。
我也遇到过这个问题,但还没有找到令人满意的答案。尝试刷新工作区、进行完整重建并重新启动Eclipse。
至少其中一个建议会有所帮助。
如果以上方法都不行,请重建或恢复您的工作区(我总是保留备份)。