如何在ECLIPSE中调试.class文件?

问题描述 投票:0回答:3

我使用的是 Eclipse 3.5,并将 src.zip 附加到 Eclipse 中的全局设置中。 Windows--> 首选项 --> Java --> 安装的 JRE --> rt.jar - 源附件 - ...../jdk/src.zip

我成功地能够进入java核心库.class文件并查看源代码。我构建了一个使用 LinkedList 的类,并在 LinkedList 类中设置了一个断点。

当我调试源代码(我的项目)中的断点运行良好,但是当我需要进入 java core lib .classes 时,我在 Eclipse 中收到以下错误 eclipse error

由于缺少行号属性,无法在 java.util.LinkedList 中安装断点。修改编译器选项以生成行号属性。

我检查了首选项中的编译器设置,发现所有选项均已选中。 enter image description here 如果有人能帮助我解决这个问题那就太好了。

提前致谢。

java eclipse debugging
3个回答
7
投票

您可能将编译器设置为在您的类文件中包含调试信息,但 rt.jar 中的类文件不是这样编译的。您需要重新编译 rt.jar 中类的所有源代码(不适合胆小的人),或者下载 jdk 的调试版本


2
投票

博客文章给出了要检查的要点的全面列表

如果使用 Eclipse IDE 编译,请按照以下步骤操作

enter image description here

  1. 转到
    windows > preferences > Java > compiler
    屏幕。
  2. 确保选中“将行号属性添加到生成的文件(由调试器使用)”复选框。
  3. 再次构建并尝试添加断点希望它对您有用。

ant 构建注意事项

如果您使用 ANT 实用程序进行编译,请按照以下步骤操作:

  1. 检查 build.xml 文件并确保 javac 任务中的 debug 属性设置为 true
  2. 此外,如果您使用 JBoss 作为应用程序服务器,请确保您已经打开了用于远程套接字绑定的端口 机连接。如果没有,那么只需确保
    C:/jboss/bin/run.bat
    有一个条目:
    set JAVA_OPTS=%JAVA_OPTS%
      -Xdebug –Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n
    ”用于打开端口 5000 来侦听调试/远程 java 应用程序的所有套接字连接。
  3. 再次构建并尝试添加断点希望它对您有用。

2
投票

您不应使用附加了 JDR src 的 JRE,因为 JRE 类不太适合调试。

让 Eclipse 搜索 Java 环境,然后从结果列表中选择 JDK。 此 Java 环境将正确附加 src.zip,您应该能够进行调查。

请注意,即使是 JDK 类也没有完整的调试信息,因此您无法看到局部变量等。

(此外,编译器设置面板仅适用于您的代码。JRE 类是预先生成的,面板不会影响它们)。

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