Eclipse Debug Absent Line Number Information

使用 Eclipse main 函数 Debug 时提示:Unable to install breakpoint in sun.security.action.GetPropertyAction due to missing line number attributes. Modify compiler options to generate line number attributes.
Reason:
Absent Line Number Information


解决方法:

步骤一核查:项目->属性->Java编译器->类文件生成->将行号属性添加至生成的类文件(由调试器使用)->打勾 
Project--->Properties---->java Compiler---->classfile Generation
选中下面的复选框,点击Apply后,点击OK
 
如果没有解决,则参考下面的方式,替换换默认的jre
步骤二:
   替换当前文件运行的JRE为sun提供的,不能是Eclipse自带的JRE
   Window--->preferences---->java---->Installed JREs--->非EC的JRE;

例外情况:

通常情况下,以上两种方法就可以解决问题了,但我这里产生了意外。

什么原因呢?

这要提到刚刚研究的一个问题“Java同样的汉字在服务器和本地的电脑上URLencode 出来的结果不一致”;

由于我在项目中添加使用了一个包名为:sun.security.action 的类:GetPropertyAction,这个类是从 rt.jar 包中Copy出来的,完全一样,这就导致调试的时候默认是去找 rt.jar 包中的 class,而没有定位到我创建的类上,我试图在调用的代码上加断点,然后使用Step Into(F5)进入函数内部,但是却提示:Source not found,我显示的指定到对应的代码目录也不起作用。

怎么解决呢?

变通一下,我把类名改了一下,使其不再和 rt.jar 包中的一致,问题就解决了。

======================文档信息===========================

版权声明:非商用自由转载-保持署名-注明出处

署名(BY) :testcs_dn(微wx笑)

文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)


你可能感兴趣的:(java,eclipse,函数,调试,compiler)