在Eclipse中调试 - ClassNotFoundException

问题描述 投票:13回答:5

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

为了避免这些无用的线路我该怎么办?

谢谢

eclipse debugging classnotfoundexception
5个回答
15
投票

我几个月来一直遇到这个问题。我正在调试一个java应用程序,每当我点击一个构造函数时,eclipse会尝试找到匹配的java核心库ClassNotFoundException的源代码。

我点击它时单击调试窗口中的ClassNotFoundException,然后单击Filter Type,我解决了这个问题。然后我再次在调试窗口中右键单击并选择Edit Step Filters ....在Edit Step Filters窗口中,我检查了Defined Step Filters部分中的所有内容,并取消选中窗口底部的所有内容(Filter synthesis methods,Filter静态初始化器等)。

希望这有助于将来的其他人。


11
投票

启动调试模式后。

转到窗口→显示视图→断点。现在,您可以在调试模式下看到Break Point选项卡。

取消选中“ClassNotFoundException:caught and uncaught”选项。


3
投票

在调试时尝试Step Return(F7作为快捷方式)一次获得一个级别,因此在libs之外你没有附加源代码。


3
投票

在普通应用程序中,您自己的代码(您的Java文件)与其他代码(库中的类文件,运行时环境等)混合在一起。每次进入类文件时,都会得到“未找到来源” - 警告。 (正如您在问题中已经提到的那样)

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

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

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

Tipp:我正在使用 - (Rightclick - >“run to line”)很多 - 这对于遍历循环等很有帮助。


0
投票

ClassNotFoundException的出现在调试中最常见,以避免这些异常,在断点窗口(Windows> Show View> BreakPoints)中取消选中“ClassNotFoundException:caught and uncaught”以继续正常调试。

© www.soinside.com 2019 - 2024. All rights reserved.