在我们的产品中有一些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
关于java - .class 文件没有 LineNumberTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250295/