在尝试设置断点时,我在Eclipse中得到这个奇怪的错误。
Unable to insert breakpoint Absent Line Number Information
我勾选了编译器选项的复选框,但运气不好。
在尝试设置断点时,我在Eclipse中得到这个奇怪的错误。
Unable to insert breakpoint Absent Line Number Information
我勾选了编译器选项的复选框,但运气不好。
当前回答
如果您确实指出了您正在使用的eclipse版本和技术(例如,Java JDT,或面向Java的AJDT,或c++ CDT),这将有所帮助。
在Java方面,我猜想您的“勾选编译器选项中的复选框”指的就是这个
在“窗口—>首选项—> Java—>编译器—>类文件生成”下,所有“类文件”生成选项都设置为True:
(1)添加可变属性, (2) addline number, (3)添加源文件名, (4)保存未使用的局部变量。
您的项目是否只在全局级别(windows Preferences)或在项目特定级别检查这些?
你确定打开的类(你试图在上面设置断点):
是您的源代码之一(并且不是来自第三方库) 是。java,而不是。class?
尝试清理所有内容并重新构建所有内容,检查潜在的jar冲突。
其他回答
我在Spring MVC + Maven项目上也有类似的问题;并且花了2个小时试图弄清楚为什么目标文件夹没有更新包含行信息的类。
我建议您清理所有内容,并确保在继续进行任何构建之前从文件夹中删除所有类。
确保在项目的属性> Java编译器有“添加行号属性生成类字段(由调试器使用)选择。 清洁所有项目。(菜单>项目>清洁…)确保目标文件夹为空。 构建项目(菜单>项目>构建项目) 确保在目标目录中生成了新类。 运行调试;如果在WebServer上运行,请确保在“调试”模式下运行web服务器。
如果有疑问——编译后的.class文件是否包含行号——在Eclipse中打开.class文件。Eclipse将反编译文件并告诉您行号是否存在。
在Eclipse中调试时如何修复断点错误? 只替换这几行。
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
我试图调试日志管理器,需要将jre更改为jdk,然后在“主”选项卡中选择这个jdk,调试配置的“Java运行时环境”|“运行时jre”,然后一切正常。
我在Eclipse IDE中也有同样的错误。 但这似乎是一个可以忽略的错误。 我在错误对话框上按下Ok键,然后继续。 我的断点到达&我能够进一步调试。
我有同样的错误与JBoss 7.1.. 我和泽菲罗做了同样的事。只是忽略了错误,我能够正常放置断点。 在我的情况下,我正在构建思想蚂蚁生成器,这是我的javac任务:
<javac
srcdir="${src.dir}"
destdir="${build.classes.dir}"
includeantruntime="false"
debug="${debug}"
verbose="false"
debuglevel="lines,vars,source"
source="1.6"
target="1.6">
<!-- Sppressing warning for setting an older source without bootclasspath
(see: https://blogs.oracle.com/darcy/entry/bootclasspath_older_source) -->
<compilerarg value="-Xlint:-options"/>
<classpath>
<fileset dir="${lib.dir}" includes="*.jar" />
<fileset dir="${jboss.lib.dir}" includes="**/*.jar" />
</classpath>
</javac>