[〜#〜] gdb [〜#〜] のようなデバッガーでは、ブレークポイントで停止すると、コールスタックを簡単に上に移動して、関連するソースとスタックフレームデータを調べることができます。
Eclipseでこれをどのように行いますか?
「 debug perspective 」で、「debug」という名前のビューを表示します。現在停止しているスレッドごとに、このビューには完全な呼び出しスタックが表示されます。このスタックの1つの要素をクリックすると、エディタービューが切り替わり、対応するクラスが表示されます。「変数」ビューには、このスタック要素の変数が表示されます。
デフォルトでは、「デバッグパースペクティブ」が「ブレッドクラム」ビューモードに折りたたまれている場合があります。つまり、一度にスタックトレースが1行しか表示されないことに注意してください。
完全に展開し、ツリーでスタックトレースを表示するには:
デバッグビューでスタックフレームをクリックするだけです。
ビジュアルデバッガーでは、スタックトレース全体が表示されます。検査したいレベルをクリックしてください。 gdbコマンドを使用するよりも間違いなく簡単です。 :-)
最初に、ヒットすることがわかっているコードに1つ以上のブレークポイントを設定し、次のいずれかの方法でアプリケーションをデバッグします。
main
メソッドを含むファイルが現在選択されていることを確認してくださいまたは
main
メソッドを含むパッケージエクスプローラーでファイルを右クリックします。Eclipseは「デバッグパースペクティブ」を表示するはずです(これは、ウィンドウ>パースペクティブ>パースペクティブを開く>デバッグを使用して手動で開くことができます)
ブレークポイントの1つにヒットすると、デバッグパースペクティブに「デバッグ」というタイトルのフレームが表示されます(手動で開くには、ウィンドウ>ビューの表示>デバッグを使用します)。次のようになります。
グレー表示されている領域は、現在ブレークポイントで一時停止されているスレッドのスタックトレースの各ステップを示しています。現在一時停止されているコールスタックの実際の部分は灰色で強調表示されます(したがって、複数のスレッドがある場合、強調表示された行を探すことで現在一時停止されているスレッドを確認できます)。スタックトレースビューの任意の行をクリックすると、詳細が表示されます(例:スタックのそのポイントの「変数」)