このjavap
コマンドにはいくつかのオプションがあり、そのうちの 1 つが で-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;
ただし、javap -l xxx
あるJavaプログラムのクラスファイルでこのコマンドを使用していますが、行番号とローカル変数テーブルの領域が空です(空であってはなりません)。javap
コマンドと 、 などの他のオプションは正常-s
に-verbose
機能しますが、オプションに対応する行情報領域のみ-l
が空です。
誰もそのような奇妙なケースに遭遇したことがありますか?