IntelliJ IDEA 2025.3 ヘルプ

デバッガーのオーバーヘッドを監視する

式を評価するか、コードをステップオーバーするたびに、IntelliJ IDEA はデバッグされるアプリケーションと同じリソースを使用します。これにより、特定の場合に全体的なパフォーマンスに劇的な影響を与える可能性があります。例: 条件が重いブレークポイントは、コード行の補完に必要な時間を大幅に増やす可能性があります。

デバッグされたアプリケーションのパフォーマンスが十分でない場合は、オーバーヘッドタブを使用して、どのデバッガー機能がほとんどのリソースを消費しているかを調べます。

オーバーヘッド情報の非表示 / 表示

  • オーバーヘッドタブを表示または非表示にする

    デバッグツールウィンドウの右上隅にある Layout options button をクリックし、オーバーヘッドをクリックします。

オーバーヘッドタブには、各デバッガー機能が使用したヒット数とプロセッサー時間に関する情報が表示されます。ビューは動的に更新されるため、結果を表示するためにアプリケーションを中断する必要はありません。

Overhead tab in the Debug tool window

デバッガー機能を無効にする

機能が CPU 時間を過度に消費していることがわかった場合は、オーバーヘッドタブでその機能を無効にできます。

  • 無効にする機能の横にあるチェックボックスをオフにします。

    The boxes near the features let you disable them right on the Overhead tab

条件付きブレークポイントを最適化する

条件を使用するブレークポイントは、頻繁にヒットすると、大きなオーバーヘッドを引き起こす可能性があります。

この場合、条件付きブレークポイントを if ステートメントと内部の通常のブレークポイントに置き換えることができます。

// hot loop for (int i = 0; i < Integer.MAX_VALUE; i++) { System.out.println("some code"); if (breakpointCondition) { System.out.println("Set breakpoint here"); } }

コード内の条件がはるかに速く評価されるため、デバッグされるアプリケーションのパフォーマンスを大幅に向上させることができます。

2024 年 10 月 23 日

関連ページ:

中断されたプログラムを調べる

デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止する、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると、現在のフレームスタックがデバッグツールウィンドウのフレームタブに表示されます。フレームはアクティ

プログラムのステップスルー

ステップは、プログラムの段階的な実行を制御するプロセスです。デバッグセッションを開始し、プログラムを一時停止すると、IntelliJ IDEA は一連のステップアクションを提供します。ステップアクションの選択は、次の行に直接移動する必要があるか、中間のメソッド呼び出しもインスペクションする必要があるかなど、戦略によって異なります。ステップボタンは、デバッグツールウィンドウのツールバーにあります。ステップオーバー:現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれて...

JVM ヒープ内のオブジェクトを分析する

デバッグ時に、メモリタブを使用してヒープ内のオブジェクトを確認できます。IntelliJ IDEA を使用すると、個々のクラスインスタンスを追跡し、オブジェクトが生成または保持される条件を分析できます。この情報は、メモリリークとその原因を検出できます。一部のエラーは見落としやすいため、コード検査だけでは手がかりが得られない場合があります。例: 内部クラスによって外部クラスがガベージコレクションの対象にならない場合があり、その結果が発生する可能性があります。このような場合、メモリタブと参照元オブジ...