.class文件没有LineNumberTable

时间:2012-06-28 17:55:34

标签: java javac jdk1.6 javap

在我们的产品中有几个jdk 1.6.0._17编译的java源文件。 只要其中任何一个出现异常,他们就不会给出行号。

我使用javap来了解有关jdk 1.6.0._17编译类的更多信息。 javap输出没有任何LineNumberTable,这就是为什么行号不会显示在异常堆栈跟踪中的原因。

我的问题: 我的javac命令不使用任何与debug相关的标志(如-g:lines,vars,source)。 因此,类文件应至少包含源和&行号信息默认为。 不能使用-g:none来禁用生成调试信息。

那么在.class文件中没有生成LineNumberTable的其他原因是什么?

非常感谢有关此方面的任何帮助。

此致 VK

1 个答案:

答案 0 :(得分:0)

“javap输出没有任何LineNumberTable,这就是为什么行号不会显示在异常堆栈跟踪中的原因。”

尝试:

javap -verbose -l -c JavaApplication2