Java Remote Debug(リモートデバッグ)

Java IntellJ リモートデバッグ

IntellJを利用したリモートデバッグの方法です。 リモートホスト上で、Tomcatが起動している想定です。

1.IntellJのリモートデバッグのオプションを設定します。
 Run/Debug Configuration -> Template -> Remoteから設定します。
 設定ポイントは、HostとPortが必須です。
ここで設定したポートは、解放しておいてください。 f:id:lucky0523:20220413175907p:plain

2.リモートホスト側のjavaのオプションで、LocalのIntellJからのデバッグを受け入れるような設定を行います。    以下のオプションはIntellJの設定により異なります。
IntellJのEdit Configuration -> Template -> Remoteに記載すべきオプションが、書かれているので、そちらを参考にします。

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005  

記述する場所は、tomcatのsetenv.shスクリプトないです.以下のように設定します。

export JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"

TomcatのInstallディレクトリ/bin 配下に、setenv.shがなければ、新規に追加します。catalina.sh起動時に呼ばれます。

3.リモートデバッグを選択した、intellJとRemote側のJavaアプリを接続します。 f:id:lucky0523:20220413175938p:plain

4.Connected to the target VM, address: '10.165.8.68:5005', transport: 'socket' というメッセージが接続されれば、成功です。