我正在使用Eclipse 3.5,并且我将src.zip附加到Eclipse中的全局设置。 窗口 - >首选项 - > Java - >已安装的JRE - > rt.jar - 来源附件 - ..... / jdk / src.zip
我能够成功进入java核心库.class文件并查看源代码。我构建一个使用LinkedList的类,我在LinkedList类中设置了一个断点。
当我调试源代码中的断点(我的项目)工作正常但是当我需要进入java核心库.classes时,我在Eclipse中遇到以下错误
由于缺少行号属性,无法在java.util.LinkedList中安装断点。修改编译器选项以生成行号属性。
我在偏好设置中检查了我的编译器设置,发现所有选项都选中了。
如果有人可以帮我解决这个问题,那就太好了。
提前致谢。
答案 0 :(得分:7)
您可能将编译器设置为在您的类文件中包含调试信息,但是rt.jar中的类文件不是以这种方式编译的。您需要重新编译rt.jar中的类的所有源(不适合胆小的人)或download a debug build of the jdk。
答案 1 :(得分:2)
此blog posts提供了一个完整的检查点列表
如果使用Eclipse IDE进行编译,请执行以下步骤
- 转到
windows > preferences > Java > compiler
屏幕。- 确保选中为生成的文件添加行号属性(由调试器使用)复选框。
- 再次构建并尝试添加断点并希望它能为您服务。
醇>
蚂蚁构建的注释
如果使用ANT实用程序进行编译,请执行以下步骤:
- 检查build.xml文件并确保在javac任务
中将debug属性设置为true- 此外,如果您使用JBoss作为应用服务器,那么请确保您已经为远程套接字绑定打开了一个端口 机器连接。如果没有,那么只需确保
C:/jboss/bin/run.bat
的条目为:
“set JAVA_OPTS=%JAVA_OPTS% -Xdebug –Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n
”用于打开端口5000以侦听调试/远程Java应用程序的所有套接字连接。- 再次构建并尝试添加断点并希望它能为您服务。
醇>
答案 2 :(得分:2)
您不应该使用附加了JDR src的JRE,因为JRE类不适合调试。
让Eclipse搜索Java环境,然后从结果列表中选择JDK。这个Java环境将正确附加src.zip,您应该能够进行调查。
请注意,即使JDK类也没有完整的调试信息,因此您无法看到局部变量等。
(此外,编译器设置面板仅适用于您的代码。预生成JRE类,面板不会影响它们。)