- Dockerコンテナ(イメージ)にdelveをインストールしておく
- IntelliJでGo RemoteのRun configurationを作る。ここでデバッガの通信に使うportを設定する(ここではデフォルトの2345だとする)
- 以下のオプションでコンテナを立ち上げる
-p 2345:2345
-
--security-opt seccomp=unconfined
オプションをつける
- 対象のプログラムが
hello.go
だとして、↑のコンテナで以下のコマンドを実行するdlv debug --headless --listen=:2345 --api-version=2 hello.go
- IntelliJで作ったRun configurationをDebug実行する。
サンプルプロジェクト作った。↓をcloneしてdocker-compose upしてIntelliJのGo Remoteのデフォルト設定を実行したらデバッグできる。