4

我正在使用 Eclipse IDE for Java EE Developers(Mac OS X 64 位)来调试我的两个 java 文档。我有一个Name带有名为insert. 它执行但给出错误的结果。NamesTester是类的测试Name类。

在调试过程中,当我使用 step intoinsert方法时,它会跳转到一个名为 的奇怪文档ArrayList<E>.size(),并显示 Source not found。我不知道怎么了。这是否意味着我无法进入一种方法来查看那里发生了什么?但是,如果我使用 step over,则可以很好地调试后续步骤。

有人可以帮我找到原因和解决方案吗?谢谢!

4

5 回答 5

1

这意味着您跳入了您的项目类路径无法访问的类定义。例如 Java JVM 源代码。在您的情况下,也许它试图跳入 ArrayList 定义。

通过 google 查找有关在 eclipse 中调试的信息,步入并逐步通过

于 2012-10-04T23:24:38.727 回答
1
  1. 点击Attach source
  2. 检查External locations并单击External files
  3. src.zip从 Program Files/java/jdk1.x/src.zip添加
于 2019-10-21T08:40:44.423 回答
0

您调试了 Java 运行时代码,但您的机器上没有安装它的源代码。将来避免这种情况的最简单方法是安装完整的 Java 开发工具包 (JDK) 而不是仅安装 Java 运行时环境 (JRE),并确保 Eclipse 使用该 JDK。

于 2012-10-05T05:13:17.250 回答
0

您指向 ArrayList.size() 的方法是jdk的 ArrayList 类的方法。

第一:找不到源不是错误。当您处于调试模式并且在调试时输入一些其 .java 文件不在类路径上的类时,找不到源。此消息仅意味着,您尝试调试的代码部分,源代码不可用,因此调试器无法显示突出显示的行等。现在要纠正这个问题,我的意思是能够在您的调试器中看到该方法,下载jdk的源代码(与您当前使用的版本相同),当您看到找不到源屏幕时,有一个atrach源按钮。选择它并选择您下载的源代码文件,然后按确定。和 tge 屏幕将刷新与类的突出显示的行。

于 2012-10-05T05:20:15.887 回答
-1

我认为您需要将源代码附加到库中,这将有助于调试器找到它。

遵循此线程第 16.2 节,

希望这会帮助你。

于 2012-10-05T03:04:31.793 回答