在尝试设置断点时,我在Eclipse中得到这个奇怪的错误。
Unable to insert breakpoint Absent Line Number Information
我勾选了编译器选项的复选框,但运气不好。
在尝试设置断点时,我在Eclipse中得到这个奇怪的错误。
Unable to insert breakpoint Absent Line Number Information
我勾选了编译器选项的复选框,但运气不好。
当前回答
我的情况与此类似:
我正在调试一个JUnit测试 我使用Mockito创建一个间谍,如在spyTask =间谍(new Task()) 我将断点放在我正在监视的类中(在Task.java中)
这个断点会生成问题中的错误,每次我运行Debug As…> JUnit测试
为了解决这个问题,我将断点“向上”移动到实际测试中(在TaskTest.java内部)。一旦执行停止,我将断点添加回原来的位置(在Task.java中)。
我仍然得到相同的错误,但点击“确定”后,断点工作正常。
希望这对大家有所帮助,
-gmale
其他回答
我从黑莓SDK方面得到了这个问题的答案:出于某种原因,无论我在编译器中修改了多少次选项,实际的底层设置文件都没有改变。
在项目的.settings文件夹中查找一个名为org.eclipse.jdt.core.prefs的文件。
在那里你可以手动修改设置:
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
编辑:除此之外,我还注意到有时我可以忽略Eclipse给出的警告,它仍然会停在需要的地方……越来越奇怪……我将此归入我们作为开发人员所需要处理的事情中。
因为我安装了6个不同版本的Java,所以我必须更改默认的JDK遵从性,以匹配我想使用的Java版本。当所有内容都使用Java 1.6构建/编译时,Eclipse默认将编译器遵从级别设置为Java 1.7。
所以我所做的就是
在eclipse菜单中,进入“窗口->首选项->Java->编译器” 在JDK遵从性下,我将编译器遵从性级别从1.7更改为1.6
现在Eclipse不再抱怨“无法插入缺少行号信息的断点”,并且调试断点实际上工作了!!
尝试更改您使用的jre。请设置JDK目录下的jre。
我在eclipse IDE中也遇到了同样的问题。我阅读了这个问题的所有答案,并尝试了几乎所有提到的设置,但运气不好。
所以,我尝试改变项目的运行时库,以前它是JRE - Java SE 1.8
我尝试将JRE更改为JDK,它为我工作:
从JRE切换到JDK的步骤如下:
Right click on project Click Properties -> Java Build Path Select tab - "Libraries" Click on "Add Library" button. "Add Library" window will open Select "JRE System Library" -> Click Next button Select "Alternate JRE" Click on Installed JRE button In New window click on "Add". This will open another window "Add JRE". Select "Standard VM". Click Next. Click on Directory button. Choose path of your "JDK" installation directory and click ok. Then Click Finish. Now check on newly added "JDK" Delete all other installed JRE's from the list(Optional) Apply-> OK Select "JDK from alternate JRE dropdown and Click on "Finish" Now from the list depicted below remove JRE instance Click Apply -> OK
你完蛋了!!
不知道这是否仍然相关,也许另一个水手会发现这有用。
当已编译的类文件关闭调试标志时,将出现该消息。
在eclipse中,您可以通过前面提到的选项打开它,
窗口—>首选项—> Java—>编译器—>类文件生成:“添加行号属性生成类文件”
但是如果您有一个jar文件,那么您将得到编译后的输出。解决这个问题没有简单的方法。
如果您可以访问源代码并使用ant来获取jar文件,那么您可以如下所示修改ant任务。
<javac destdir="${build.destDir}" srcdir="${build.srcDir}" source="1.6" fork="true" target="${javac.target}" debug="on" debuglevel="lines,vars,source" deprecation="on" memoryInitialSize="512m" memoryMaximumSize="1024m" optimize="true" >
快乐的调试. .
裁判: http://doc.sumy.ua/prog/Java/javanut/ch16_04.htm