9

我最近升级到 helios,现在每次我进入一个类的构造函数(例如Cat myCat = new Cat();)时,eclipse 调试器都会将堆栈显示为

java堆栈跟踪进入实例化

要获得实际的构造函数代码,我必须跳出几次,这很烦人。每个班级都会发生这种情况,尽管有堆栈,但我从未在控制台中看到任何错误消息。我该如何解决这个问题,以便它直接进入我的类的构造函数?

这只会在第一次使用该类时发生,甚至对于与当前类位于同一 src 文件中的类也是如此。

4

4 回答 4

14

Eclipse 在 Java 调试器首选项中有一个步骤过滤器首选项。它的默认首选项过滤掉了java.lang.ClassLoader,但这不起作用。这可能与最近安装并切换到使用 jre7 有关。为了解决我的问题,我添加了一个过滤器来单步执行java.lang包中的任何代码。

在此处输入图像描述

于 2012-05-09T23:02:56.940 回答
5

我认为 ClassNotFoundException 只是作为类加载的一部分发生-问题是您设置了断点以在引发这些异常时触发。我的猜测是你的 Eclipse 版本默认开启了这个断点,而旧版本没有。

查看此链接,它报告了类似的问题并提供了解决方案,即禁用该断点。

(为了教鱼等等,谷歌搜索词是“eclipse debugger launcher$appclassloader”。)

于 2012-05-09T06:03:26.513 回答
0

从 Eclipse 中报告的堆栈跟踪来看,似乎 aClassNotFoundException已初始化并被抛出,您编写的应用程序是否遇到任何问题?

你有没有在类的构造函数中设置断点?您根本无法进入构造函数?

您是使用Class.forname()还是导入来向 JRE 介绍该类?

于 2012-05-09T05:51:32.587 回答
0

似乎对于我的学生使用运行 openjdk 的实验室机器,解决方案是在https://stackoverflow.com/a/10525351/1449799中提到的相同首选项中添加一个步骤过滤器,但添加jdk.*

于 2020-02-12T14:47:32.867 回答