デバッガー設定
このページを使用して、デバッガーの動作を構成し、そのビューをカスタマイズします。
共通オプション
項目 | 説明 |
|---|---|
ブレークポイントでデバッグウィンドウを表示する | このチェックボックスが選択されている場合、IntelliJ IDEA はブレークポイントに到達するとデバッグツールウィンドウをアクティブにします。 |
ブレークポイントでアプリケーションにフォーカスする | このチェックボックスが選択されている場合、ブレークポイントを押すと、IntelliJ IDEA はエディターにこのブレークポイントの位置を表示し、そのフレームを前面に表示しようとします。 |
プロセスの終了時にデバッグウィンドウを非表示にする | デバッグされたプログラムが終了すると自動的にデバッグツールウィンドウを非表示にします。 |
実行ポイントを常に中央に配置する | このチェックボックスを選択すると、現在の実行ポイントの行が画面の中央に保持されます。 |
行番号をクリックしてカーソル位置まで実行する | このチェックボックスが選択されている場合、エディターで行番号をクリックして、この行に対してプログラム実行を実行できます。 |
ブレークポイントの除去 | ブレークポイントの削除方法を選択:
また、条件付きブレークポイントまたはロギングブレークポイントを削除しようとしているときに、確認ダイアログを表示するかどうかを選択することもできます |
Java
項目 | 説明 |
|---|---|
トランスポート | プロセスへの接続に使用するトランスポートを選択します。使用可能なオプションはソケットと共有メモリです。共有メモリは Windows システムでのみ使用できます。 |
代替ソーススイッチャーを表示する | プロジェクト内に同じ完全修飾名を持つクラスが複数ある場合は、エディターの上部に代替ソーススイッチャーが表示されます。 |
すぐにデバッグプロセスを終了する | Java プロセスをソフトキルする場合は、このチェックボックスをオンにします。 |
メモリエージェントを接続する | メモリエージェントをアタッチした状態でアプリケーションを実行します。これにより、メモリタブでオブジェクトの保持サイズを計算するを実行できるようになります。 |
Kotlin
項目 | 説明 |
|---|---|
コルーチンエージェントをアタッチする | クラスパスでコルーチンを検索し、VM オプションに |
関連ページ:
デバッグツールウィンドウ
デバッガーセッションを開始すると、デバッグツールウィンドウが開きます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ (フレーム、スレッド、変数など) を表示および分析し、デバッガーアクションを実行します。デフォルトでは、プログラムがブレークポイントに到達したときにデバッグツールウィンドウが開き、セッションが終了しても非表示になりません。この動作を変更するには、ビルド、実行、デプロイ | デバッガー設定ページに移動し、ブレークポイントでデバッグウィンドウを表示するチェ...
プログラムのステップスルー
ステップは、プログラムの段階的な実行を制御するプロセスです。デバッグセッションを開始し、プログラムを一時停止すると、IntelliJ IDEA は一連のステップアクションを提供します。ステップアクションの選択は、次の行に直接移動する必要があるか、中間のメソッド呼び出しもインスペクションする必要があるかなど、戦略によって異なります。ステップボタンは、デバッグツールウィンドウのツールバーにあります。ステップオーバー:現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれて...
デバッガーセッションを開始する
デバッガーセッションの開始は、プログラムを通常モードで実行するのと非常によく似ています。デバッガーはバックグラウンドで接続されているため、デバッガーセッションを開始するために特別な設定を行う必要はありません。IntelliJ IDEA からプログラムを実行できる場合は、同じ構成を使用してプログラムをデバッグすることもできます。プログラムをデバッグするたびに、デバッガーセッションは実行 / デバッグ構成に基づきます。これにより、アプリケーションを起動するためのパラメーターとアクションを構成できます...
JVM ヒープ内のオブジェクトを分析する
デバッグ時に、メモリタブを使用してヒープ内のオブジェクトを確認できます。IntelliJ IDEA を使用すると、個々のクラスインスタンスを追跡し、オブジェクトが生成または保持される条件を分析できます。この情報は、メモリリークとその原因を検出できます。一部のエラーは見落としやすいため、コード検査だけでは手がかりが得られない場合があります。例: 内部クラスによって外部クラスがガベージコレクションの対象にならない場合があり、その結果が発生する可能性があります。このような場合、メモリタブと参照元オブジ...
Kotlin コルーチンのデバッグ
コルーチンは非同期プログラミングに特に適していますが、間違いの余地はまだありますが、非同期フローがもたらす課題のため、それを理解するのは難しい場合があります。Kotlin コードをデバッグする場合、IntelliJ IDEA を使用すると、実行を一時停止して、コルーチン内のコードが持つ可能性のある問題を診断できます。現在、コルーチンが実行されていなくても、デバッグ情報を利用できます。コルーチンデバッガーは、次の情報を提供します。ディスパッチャーごとにグループ化されたコルーチンとその状態のリスト。...
チュートリアル: 並行性の問題を検出する
同時実行関連のバグはランダムな性質を持つため、シングルスレッドアプリケーションのバグよりも扱いが難しいことがよくあります。アプリは 1,000 回問題なく実行されても、明らかな理由もなく予期せず失敗することがあります。このチュートリアルでは、マルチスレッドアプリのデバッグと分析のコア原則を示すコード例を分析します。問題:同時実行性に関連するバグの一般的な例は競合状態です。これは、共有データが複数のスレッドによって適切に同期されずに同時に変更された場合に発生します。このようなコードは、2 つのス...