在我们的产品中,有一些jdk 1.6.0._17编译的Java源文件。
只要其中任何一个出现异常,他们都不会给出行号。
我使用javap查找有关jdk 1.6.0._17编译类的更多信息。
javap输出没有任何LineNumberTable,这就是为什么在异常stacktrace中不显示行号的原因。
我的问题:
我的javac命令不使用任何与debug相关的标志(例如-g:lines,vars,source)。
因此,默认情况下,类文件应至少包含源和行号信息。
也不要通过使用-g:none来禁用调试信息的生成。
那么,在.class文件中未生成LineNumberTable的其他原因还有哪些呢?
对此的任何帮助将不胜感激。
问候,
VK
最佳答案
“ javap输出中没有任何LineNumberTable,这就是为什么在异常stacktrace中不显示行号的原因。”
尝试:
javap -verbose -l -c JavaApplication2