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