IntelliJ IDEA 2019.1 Release Candidate is Out! | IntelliJ IDEA Blogにあるように、 2019.1
からの新機能ですね。
Dockerfileの準備
デバッグ対象のアプリケーションをDockerで動かすためのDockerfileを作ります。
※docker-compose.ymlでもデバッグいけるみたいです。
とりあえず、デバッグできることだけを確認したいので、シンプルにこんな感じにしています。
FROM java:8 COPY build/libs/sample.jar . CMD $JAVA_HOME/bin/java -jar sample.jar
実行構成の作成
- 実行構成の追加から
Remote
を選びます
- ポート番号やJavaのバージョンなどの設定を行います
あとで必要になるので、Command line arguments for remote JVM
の内容はコピーしておきましょう
Before launch
でLaunch Docker before debug
を選びます
Launch Docker before debug
の設定を行いますCustom Command
には、コピーしたCommand line arguments for remote JVM
の内容を使ってリモートデバッグ可能な状態でアプリケーションを起動するようコマンドをを設定します((Custom Command
の設定、再度設定画面開くと消えちゃってますがおそらく設定自体は生きています))- 今回は、
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar sample.jar
と設定しています
デバッグ実行してみる
こんな感じにコンテナ上で実行されているアプリケーションに対するデバッグが行なえます。
・・・
Custom Command
での上書き設定がちょっとめんどくさい感じですね