javap
命令有幾個選項,其中一個是-l
,它可以打印行號和局部變量表。假設一個Java程序編譯成功並有文件「Main.class」,因此運行javap -l Main
可以產生類似:javap -l選項無法顯示行號信息
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
選項對應的行信息區域爲空。
有沒有人遇到過這種奇怪的情況?
猜測行號都被剝奪,在不奇怪所有,意味着它的構建沒有調試信息和/或混淆。 – vickirk
請隔離顯示問題的最小可能的測試用例,併發布生成此類的源代碼。 – kittylyst