Javap -l选项不能显示行号信息



javap命令有几个选项,其中一个是-l,它可以打印行号和本地变量表。假设一个java程序已经成功编译,并且存在文件"Main.class",那么运行javap -l Main可以生成如下内容:

public static void main(java.lang.String[]);
LineNumberTable:
 line 100: 0
 line 101: 27
 line 275: 54
LocalVariableTable:
 Start Length Slot Name Signature
 0     55     0    args  [Ljava/lang/String;

然而,我在一个java程序的类文件上使用这个javap -l xxx命令,但是行号和局部变量表的区域是空的(这不应该是)。javap命令和其他选项(如-s-verbose)可以正常工作,但只有-l选项对应的行信息区域为空。

有人遇到过这样奇怪的情况吗?

使用-g编译代码,否则不保留行号(类似于堆栈跟踪显示"已编译的代码"而不是行号)

相关内容

  • 没有找到相关文章

最新更新