2009-11-03 82 views
16

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

此外,如果我从方法的开始处通过导致null pointer exception的代码,使用完全相同的输入,则没有问题。它只发生在我删除所有断点时,但Eclipse决定不管在那里停止。

为什么会发生这种情况?

回答

16

Eclipse还支持异常中断点(在抛出某个异常时停止程序)。您可以在调试器的“断点”面板中看到它们。就你而言,例如,这可能是一个ClassCastException。

如果该面板为空,那么它可能是Java VM中的一个错误,或者您可能在调试器中打开了两个进程。如果一切都失败了,试着在Eclipse 3.5.1中调试它。

+0

非常感谢!这是我的情况 – 2017-09-29 10:51:29

4

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

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

做不到这一点 - 重建或恢复您的工作空间(我始终保持一个备份)

+0

我删除了我的工作区,它的工作原理,希望它不会复出 – 2014-01-28 20:20:39

+2

另请尝试运行 - >删除所有断点根据http://stackoverflow.com/questions/7178096/eclipse-stops-at-non-存在 - 断点 – KCD 2015-03-05 03:06:01

36

我有同样的问题,终于找到了以下配置选项: 窗口 - >首选项 - >爪哇 - >调试 - >暂停执行未捕获的异常 我未选中它,问题消失。 但是,了解未捕获的异常可能是件好事。我只是禁用它,因为问题出现在Spring框架中,而不是我的代码中,因此我无法纠正任何错误... 希望它有帮助:)

+0

感谢您的答案 - 我有完全相同的问题,但你的答案已为我工作。 – 2012-07-03 13:10:47