1

在我们的产品中有一些 jdk 1.6.0._17 编译的 java 源文件。每当其中任何一个出现异常时,他们都不会给出行号。

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

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

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

非常感谢您对此的任何帮助。

问候, VK

4

1 回答 1

0

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

尝试:

javap -verbose -l -c JavaApplication2
于 2013-06-06T08:49:44.747 回答