コンテナ内のGolangアプリをVS Codeでリモートデバッグしたい人生だった

コンテナ内のアプリに対してLinterやデバッガーを導入したいと常々考えていました。

なんとか頑張ったのですがデバッグできるようになりませんでした。リンターはいい感じに走るのですが。。一応途中までやったことをまとめます。

前準備

VS Code Insiderを使う

VS Codeにはリモートデバッグ用に特化したVS Code Insiderというエディターが用意されています。まずはそれをダウンロードします↓

https://code.visualstudio.com/insiders/

Remote Developmentの導入

VS Code Insiderをインストール後、起動して拡張プラグインRemote Developmentを追加。

コンテナの起動

VS Codeから起動してゴニョゴニョすることもできるのですが、あまりエディター側に依存したくないので、私は別ターミナルからコンテナを起動しています。

VS Code Insiderからコンテナへアタッチ

コンテナ起動後、VS Code Insiderの左下にある緑色の部分をクリックし、起動中のコンテナへアタッチします。これでワークスペースにコンテナ側のディレクトリが追加されます。

デバッグ

デバッグ画面を開いてブレイクポイントを設定し、F5を押しても。。できない!!

リモートデバッグしたい人生だった😇

でもリンターはいい感じに動作しています。やったー!

Golangのリモートデバッグについて調査中

VS Codeの公式ドキュメントによると、デバッガーの拡張機能がリモートデバッグをサポートしているか否かにかかっているようです。

VS Code does not itself support remote debugging: this is a feature of the debug extension you are using, and you should consult the extension’s page in the Marketplace for support and details.
There is, however, one exception: the Node.js debugger included in VS Code supports remote debugging. See the Node.js Debugging topic to learn how to configure this.

https://code.visualstudio.com/docs/editor/debugging

Golangのextensionを調べたところ、delveをインストールする必要があるというところまで突き止めました。デバッグしたいだけなのに大変すぎますね。GolandとかIntelliJに移行した方が幸せになれるかもです。

まとめ

ちょっと埒が明かないので一旦保留にしますが、引き続き調査したり詳しそうな人に聞いてそのうち解決します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください