Eclipse 中 JRE 系统库中的断点
我尝试在 JRE 系统库的类中设置断点,但是当我开始调试时,我收到消息:“由于缺少行号属性,无法在...处安装断点。修改编译器选项以生成行号属性。” 那么我应该怎么做:从带有调试信息的源重新编译 JRE 系统库并使用它?或者有更简单的方法吗?
I tried to make breakpoint in the class from JRE System Library, but when I started debug I recieved message: "Unable to install breakpoint at ... due to missing line number attributes. Modify compiler options to generate line number attributes."
So what should I do: recompile JRE System Library from sources with debug information and use it? Or there is some more simple way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
所以,最简单的方法——使用JDK而不是JRE。在这种情况下,我们可以使用系统库中的断点。但我们无法监视局部变量的值。为此,我们应该重新编译 rt.jar(不包含 sun.* 数据包,因为它们是专有的)。 那里描述了重新编译的过程。它是俄语的,但在文章的 和 处找到了结果 rt-dbg.jar 的链接。
So, the most simple way - to use JDK instead of JRE. In this case we can use breakpoints in system library. BUT we cant monitor values of local variables. For this purpose we should recompile rt.jar (without sun.* packets, because they are proprietary). Process of recompilation described there. It's in russian, but at the and of article situated the link to the result rt-dbg.jar.
您只需要启用一些编译器选项即可。右键单击您的项目并选择
属性
。转到Java 编译器
并启用复选框向生成的类文件添加行号(由调试器使用)
和其他复选框。You just have to enable some compiler options. Right click your project and select
Properties
. Go toJava Compiler
and enable the checkboxesAdd line number to generated class files (used by the debugger)
and the other ones.最简单的做法是获取等效的 JDK 并以它为目标。
The simplest thing to do is get the equivalent JDK and target that instead.