チュートリアル: リモートデバッグ
このチュートリアルでは、IntelliJ IDEA デバッガーを使用してローカルプロセスまたはリモートプロセスに接続する方法を学習します。
概要
リモートデバッグを使用すると、別のマシンで実行されている Java プログラムをローカルであるかのように制御およびインスペクションできます。
これを実行するには、まずリモートコンピューター上でアプリケーションを起動し、特別な VM オプションを追加してデバッガー接続を受け入れるように設定します。 このオプションにより、リモート JVM はデバッガーからの接続を待機するようになります。
リモートアプリが起動してリッスン状態になったら、ローカルマシンでデバッガーを「アタッチ」モードで起動します。 これにより、IntelliJ IDEA のデバッガーがネットワーク経由でリモートアプリケーションに接続され、デバッグが可能になります。
プロジェクトの作成
まず、デバッグするプロジェクト(A から Z までの大文字を出力する簡単なプログラム)を設定しましょう。
Alphabetという名前のクラスを作成します。
Alphabetクラスの本体に、mainメソッドの次の定義を貼り付けます。public static void main(String[] args) { System.out.println("Starting"); for (char c = 'A'; c < 'Z'; c++) { try { Thread.sleep(2500); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(c); } System.out.println("Complete"); }
実行構成の作成
デバッガーが接続できるようにするために、アプリケーションを特別なパラメーター付きで実行する必要があります(詳細は後ほど説明します)。 このチュートリアルでは、ほとんどの作業を実行してくれる実行 / デバッグ構成を使用します。 このようにして、2つの実行/デバッグ構成を用意します。 アプリの実行用と 接続用です。
デバッガーを設定する
まず、ホストアプリケーションへのアタッチに使用される実行 / デバッグ構成をセットアップする必要があります。
メインメニューで、 に移動するか、 Alt+Shift+F10 を押してから 0 を押します。
実行 / デバッグ構成 ダイアログで、 新規構成の追加 ボタン
をクリックし、 リモート JVM デバッグ を選択します。

次のプロパティを構成 / 使用します。
名前: この実行 / デバッグ構成に便利な名前を定義するか、デフォルト値をそのまま使用します。
ホスト: ホストアプリが実行されるマシンのアドレス。 同じマシンで実行しているため、 localhost である必要があります。 プログラムが別のマシンで実行されている場合、たとえばここでそのアドレスを指定します: 192.168.17.43 。
リモート JVM のコマンドライン引数: ホストアプリケーションの起動に必要な VM オプション。 他の実行 / デバッグ構成で使用します。 今すぐコピーするか、後でこのフィールドに戻ることができます。

適用 をクリックします。
ホストアプリを設定する
ホストアプリケーションを実行する正確な方法に制限はありません。 例: アプリを JAR としてパッケージ化し、次のコマンドラインを使用して実行できます。
このチュートリアルでは、ほとんどの作業を実行してくれる実行 / デバッグ構成を使用します。
Alphabetクラスの本体の任意の場所を右クリックします。 さらに実行/デバッグ を選択し、次に 実行構成の変更 を選択します。オプションを変更 をクリックしてから、 VM オプションの追加(V) を選択します。 VM オプション フィールドに、デバッグ構成からコピーしたオプションを貼り付けます。

適用 をクリックします。
アプリを実行する
必要な準備がすべて整ったため、アプリケーションの実行に進むことができます。
Alt+Shift+F10 を押して、
Alphabetを選択します。
プログラムの出力では、最初の行は次のようになります。
これは、デバッグエージェントを有効にし、プログラムが受信デバッガー接続を受け入れる準備ができていることを示しています。
行が表示されない場合は、ポートが別のアプリケーションによって使用されていないか、ファイアウォールやセキュリティ設定によってブロックされていないことを確認してください。
プロセスに接続
行 10 のガターをクリックして、そこに行ブレークポイントを設定します。

Alt+Shift+F9 を押して、リモートデバッグ構成を選択します。

その結果、プログラムはブレークポイントで中断され、 ステップ、 式の評価などのデバッグアクションを実行できます。

アプリの起動方法と場所に関係なく、デバッグプロセスは同じです。 接続したら、IntelliJ IDEA からアプリを起動した場合と同じデバッガー機能を使用できます。
デバッグセッションを閉じる
デバッグ ツールウィンドウの対応するセッションタブを閉じます。

プロセスを終了するか、プロセスから切断するかを選択します。
切断 、プロセスの実行が継続している間、デバッグセッションが停止します。
中断 とプロセスとデバッグセッションの両方が停止します
