15

当我在 Eclipse 中调试一个简单的控制台应用程序时,我在调试窗口中得到了很多 ClassNotFoundException 行。这不是错误,在另一个窗格中稍微低一点,我得到“找不到源。”。我知道这是因为所需类的源代码不可用,我想跳过这些行...我必须按很多次“跳过”或“退出”按钮才能退出这些状态。

我该怎么做才能完全避免这些无用的行?

谢谢

4

5 回答 5

15

我已经有这个问题几个月了。我正在调试一个 java 应用程序,每次我遇到构造函数时,eclipse 都会尝试找到匹配的 java 核心库 ClassNotFoundException 的源代码。

我解决了这个问题,方法是在我点击 ClassNotFoundException 时右键单击调试窗口,然后单击过滤器类型。然后,我将再次在调试窗口中右键单击并选择 Edit Step Filters...。在 Edit Step Filters 窗口中,我检查了 Defined Step Filters 部分中的所有内容,并取消选中窗口底部的所有内容(过滤合成方法,静态初始化器等)。

希望这对将来的其他人有所帮助。

于 2012-09-17T03:06:16.630 回答
13

启动调试模式后。

转到窗口 → 显示视图 → 断点。现在您将能够在调试模式下看到断点选项卡。

取消选中“ClassNotFoundException:已捕获和未捕获”选项。

于 2015-04-18T07:42:24.550 回答
3

在调试时尝试Step Return(F7 作为快捷方式)一次提升一个级别,因此您没有附加源代码的库。

于 2010-12-24T09:36:17.017 回答
3

在普通应用程序中,您自己的代码(您的 java 文件)与其他代码(库中的类文件、运行时环境等)混合在一起。每次你进入一个类文件,你都会得到这个“Source not found”——警告。(正如您在问题中已经提到的)

首先,您可以尝试获取库的源代码并将它们链接到您的库(例如在“项目设置 => 首选项.../Java Build Path/Libraries => 展开 jar-libraries => 源附件” )。

如果没有可用的源代码,您必须使用调试器命令来避免跳转到该类文件。“Step Out/Return”可能会有所帮助,但“Debug View”(可以在“Debug Perspective”的左上角找到)可能会更有帮助。

在“调试视图”中,您可以看到应用程序的每个线程。如果您当前正在调试一个线程,您可以在那里看到当前的堆栈跟踪。除了一直单击 F6 和 F7 之外,您还可以通过单击那里的堆栈跟踪项来导航。

Tipp:我经常使用 - (Rightclick->"run to line") - 这对于遍历循环等非常有帮助。

于 2010-12-24T10:49:41.857 回答
0

ClassNotFoundException 的发生在调试中最常见,为了避免这些异常,在断点窗口(Windows>Show View>BreakPoints)中取消选中“ClassNotFoundException:已捕获和未捕获”以继续正常调试。

于 2019-04-26T06:02:15.673 回答