1

私たちの製品には、jdk 1.6.0._17 でコンパイルされた Java ソース ファイルがいくつかあります。それらのいずれかに例外があるときはいつでも、彼らは行番号を与えていません。

javap を使用して、jdk 1.6.0._17 コンパイル済みクラスの詳細を調べました。javap の出力に LineNumberTable がないため、例外スタックトレースに行番号が表示されません。

私の質問: 私の javac コマンドは、デバッグに関連するフラグ (-g:lines,vars,source など) を使用しません。そのため、クラス ファイルには少なくともデフォルトでソースと行番号の情報が含まれている必要があります。-g:none を使用してデバッグ情報の生成を無効にすることもありません。

LineNumberTable が .class ファイルで生成されない他の理由は何でしょうか?

これに関するヘルプは大歓迎です。

よろしく、 VK

4

1 に答える 1

0

「javap 出力に LineNumberTable がないため、例外スタックトレースに行番号が表示されません。」

試す:

javap -verbose -l -c JavaApplication2
于 2013-06-06T08:49:44.747 に答える