1. ホーム
  2. java

[解決済み] IntelliJでJavaデバッガを使用する場合、「Drop Frame」とはどういう意味ですか?

2022-11-16 22:18:43

質問

IntelliJ 8 内で Java デバッガーを使用していたところ、"drop frame" というラベルの付いたボタンがあることに気づきました。これがどのような目的を果たすのか、誰か知っていますか? どのように、あるいはなぜこれが使用され、有用なのでしょうか。

どのように解決するのですか。

アプリケーションのコールスタックは、デバッガーで表示することができます。フレームをドロップ] 機能を使用すると、前のスタック フレームにフォールバックできます (ある意味、過去にさかのぼります)。これは、もう一度見たい重要なスポットを見逃してしまった場合に、関数を再入力するのに便利です。

スタックフレームという名前が示すように、グローバルな状態(静的変数、フィールド値への変更など)に対してすでに行われた変更は元に戻りませんが、ローカル変数だけはリセットされます。このため、ブレークポイントに到達したときとは異なる実行経路になる可能性があります。私はしばしば、アプリケーションや現在のスタックに至った特定の長いプロセスを再起動することなく、異なる実行経路を探索するのに便利な機能だと考えています。デバッガーを通じて利用可能な変数値の変更と組み合わせると、あらゆる種類の興味深いことを行うことができます。

もちろん、ネットワーク トラフィック、ファイル操作、コンソール出力など、発生した可能性のあるあらゆる副作用に注意してください。- 巻き戻すことはできません。