在我们的产品中,有一些 jdk 1.6.0._17 编译的 java 源文件。每当其中任何一个出现异常时,他们都不会给出行号。
我使用 javap 来了解有关 jdk 1.6.0._17 编译类的更多信息。javap 输出没有任何 LineNumberTable,这就是行号不显示在异常堆栈跟踪中的原因。
我的问题:我的javac命令不使用任何与调试相关的标志(如-g:lines,vars,source)。因此,默认情况下,类文件至少应包含源和行号信息。我也没有通过使用 -g:none 来禁用调试信息的生成。
那么,在.class文件中没有生成LineNumberTable的其他原因是什么?
非常感谢有关此的任何帮助。
问候VK
"javap 输出没有任何 LineNumberTable,这就是行号不显示在异常堆栈跟踪中的原因。
尝试:
javap -verbose -l -c JavaApplication2