当我在 Eclipse 中调试一个简单的控制台应用程序时,我在调试窗口中得到了很多 ClassNotFoundException 行。这不是错误,在另一个窗格中稍微低一点,我得到“找不到源。”。我知道这是因为所需类的源代码不可用,我想跳过这些行...我必须按很多次“跳过”或“退出”按钮才能退出这些状态。
我该怎么做才能完全避免这些无用的行?
谢谢
当我在 Eclipse 中调试一个简单的控制台应用程序时,我在调试窗口中得到了很多 ClassNotFoundException 行。这不是错误,在另一个窗格中稍微低一点,我得到“找不到源。”。我知道这是因为所需类的源代码不可用,我想跳过这些行...我必须按很多次“跳过”或“退出”按钮才能退出这些状态。
我该怎么做才能完全避免这些无用的行?
谢谢
我已经有这个问题几个月了。我正在调试一个 java 应用程序,每次我遇到构造函数时,eclipse 都会尝试找到匹配的 java 核心库 ClassNotFoundException 的源代码。
我解决了这个问题,方法是在我点击 ClassNotFoundException 时右键单击调试窗口,然后单击过滤器类型。然后,我将再次在调试窗口中右键单击并选择 Edit Step Filters...。在 Edit Step Filters 窗口中,我检查了 Defined Step Filters 部分中的所有内容,并取消选中窗口底部的所有内容(过滤合成方法,静态初始化器等)。
希望这对将来的其他人有所帮助。
启动调试模式后。
转到窗口 → 显示视图 → 断点。现在您将能够在调试模式下看到断点选项卡。
取消选中“ClassNotFoundException:已捕获和未捕获”选项。
在调试时尝试Step Return
(F7 作为快捷方式)一次提升一个级别,因此您没有附加源代码的库。
在普通应用程序中,您自己的代码(您的 java 文件)与其他代码(库中的类文件、运行时环境等)混合在一起。每次你进入一个类文件,你都会得到这个“Source not found”——警告。(正如您在问题中已经提到的)
首先,您可以尝试获取库的源代码并将它们链接到您的库(例如在“项目设置 => 首选项.../Java Build Path/Libraries => 展开 jar-libraries => 源附件” )。
如果没有可用的源代码,您必须使用调试器命令来避免跳转到该类文件。“Step Out/Return”可能会有所帮助,但“Debug View”(可以在“Debug Perspective”的左上角找到)可能会更有帮助。
在“调试视图”中,您可以看到应用程序的每个线程。如果您当前正在调试一个线程,您可以在那里看到当前的堆栈跟踪。除了一直单击 F6 和 F7 之外,您还可以通过单击那里的堆栈跟踪项来导航。
Tipp:我经常使用 - (Rightclick->"run to line") - 这对于遍历循环等非常有帮助。
ClassNotFoundException 的发生在调试中最常见,为了避免这些异常,在断点窗口(Windows>Show View>BreakPoints)中取消选中“ClassNotFoundException:已捕获和未捕获”以继续正常调试。