IntelliJ IDEA 2026.1 Help

コードのデバッグ

IntelliJ IDEA は、Java コード用のデバッガーを提供します。 インストール / 有効化されたプラグインに応じて、他の言語で記述されたコードをデバッグすることもできます。

デバッグセッション中に、デバッガーをアタッチしてプログラムを起動します。 デバッガーの目的は、プログラムの実行を妨害し、内部で何が起こっているかに関する情報を提供することです。 これにより、プログラムのバグを検出して修正するプロセスが容易になります。

デバッグする前に

  1. 設定 | ビルド、実行、デプロイ | コンパイラー | Java コンパイラーデバッグ情報を生成する オプションがオン(デフォルト設定)になっていることを確認してください。

    この設定はデバッグに絶対に必要なわけではありませんが、有効のままにすることをお勧めします。 これを無効にすると、一部のデバッガー機能を犠牲にしてディスク領域を節約できます。

  2. 設定 | ビルド、実行、デプロイ | デバッガー で一般的な デバッグプロパティと動作を構成します。

    デバッグが初めての場合は、すぐに使用できる構成が機能します。 各デバッガー機能に関するトピックは、参照を提供し、該当する場合は関連する設定を説明します。 上級ユーザーで、特定のプロパティを探している場合は、 デバッガーリファレンスセクションを参照してください。

  3. カスタムの 実行/デバッグ構成 を使用する場合は、定義します。 これは、プログラムに引数を渡す必要がある場合、または起動前に特別なアクティビティを実行する必要がある場合に必要です。 実行/デバッグ構成のセットアップの詳細については、 実行 / デバッグ構成 セクションを参照してください。 ほとんどの場合、引数を期待しない、特別な要件がない単純なプログラムをデバッグする場合、これは必要ありません。

一般的なデバッグ手順

アプリケーションをデバッグするための万能の手順はありません。 実際の要件に応じて、異なるアクションを異なる順序で使用する必要がある場合があります。 このトピックでは、一般的なデバッグ手順を表す一般的なガイドラインを提供します。 特定の機能をいつどのように使用するかについての詳細は、それぞれのトピックで説明されています。

  1. プログラムを停止する必要がある場所を定義します。 これは ブレークポイントを使用して行われます。 ブレークポイントは特別なマーカーであり、デバッガーがプログラム状態に介入してフリーズする必要があるときの場所と条件を表します。 デバッガーによってフリーズされたプログラムは、 「一時停止」と呼ばれます。

    ブレークポイントを使用する代わりに、任意の時点でプログラムを 手動で一時停止することもできますが、この方法ではデバッガーの機能にいくつかの制限が課せられ、プログラムを一時停止するタイミングに関する精度が高くなりません。

  2. プログラムをデバッグモードで実行します。 対応する実行構成がデバッグをサポートしている限り、これは通常のアプリケーション、単体テスト、その他の実行可能コードである可能性があります。

    プログラムの定期的な実行と同様に、複数のデバッグセッションを同時に実行できます。

  3. プログラムが中断された後、デバッガーを使用して、 プログラムの状態に関する情報を取得し、実行中にそれがどのように変化するかを確認します。

    デバッガーは、変数値、スレッドの現在の状態、現在ヒープにあるオブジェクトの内訳などに関する情報を提供します。 また、例外をスローする(たとえば、処理方法を確認する)か、プログラム実行の途中で任意のコードを実行することにより、さまざまな条件でプログラムをテストできます。

    これらのツールを使用すると、特定の時点でのプログラムの状態を調べることができますが、 ステップ機能を使用すると、プログラムの段階的な実行を制御できます。 ツールを組み合わせることで、バグの原因を推測し、プログラムの堅牢性をテストできます。

  4. 修正する必要があるものを決定したら、セッションを終了せずに修正できます。 この目的のために、IntelliJ IDEA は、コードの一部をオンザフライで調整および再ロードできる機能を提供します。 このアプローチは 修正されたクラスを再ロードする で説明されています。

デバッガーの復習

IntelliJ IDEA デバッガーにすでに精通していて、さまざまな便利な機能とアプローチの概要を知りたい場合は、デバッガーリフレッシャービデオシリーズを参照してください。

Debugger Essentials は、行ブレークポイント、ステップ、デバッグセッションの制御、監視、式の評価、ブレークポイント条件などの基本的なトピックをカバーしています。

Debugger Advanced は、ブレークポイントの型と設定、高度なステップ、リモートデバッグ、レンダラーなどをカバーしています。

Debugger Professional は、HotSwap の使用、ラベルのデバッグ、非同期スタックトレース、逆コンパイルされたコードのデバッグなどの高度なトピックをカバーしています。

2026 年 3 月 30 日