ローカルに宣言された変数は検査できません 質問する

ローカルに宣言された変数は検査できません 質問する

Eclipse でコードをデバッグしているとき、クラス メンバー変数は問題なく表示および検査できるものの、関数内でローカルに宣言された変数の値は検査できないことがあります。余談ですが、現在の関数のパラメーターは「実際の」名前を失い、代わりに変数ウィンドウに arg0、arg1、arg2 などの値が表示されますが、少なくとも値は表示されます。

これは現在、コア JDK 内で定義されたクラスに関連して発生しています。インストールされた現在の JRE が JDK であることを確認しました。

この動作について説明できる人はいますか?

ベストアンサー1

どうやら、答えは:

JDK に同梱されている rt.jar (コア Java クラスが存在する場所) は、.class ファイルに含まれる完全なデバッグ情報を含めてコンパイルされていないため、デバッガーにはローカル変数情報がありません。

残念ながら、これは Eclipse では対処できない問題です。すべてのデバッガーで JDK コア クラスに関して同じ問題が発生します。

Eclipse 3.4 のリリースノート状態:

デバッグ属性がありません
デバッガーで行番号とローカル変数を表示するには、クラス ファイルをデバッグ属性付きでコンパイルする必要があります。多くの場合、クラス ライブラリ (たとえば、「rt.jar」) は完全なデバッグ属性なしでコンパイルされるため、それらのクラスのローカル変数とメソッド引数はデバッガーで表示されません。

おすすめ記事