Golang + Docker + VSCodeでのデバッグをする方法

確認環境

EnvVerMisc
golang1.16.4-alpine3.13DockerImage
VSCode1.56.0
golang.go0.24.2VSCode 拡張

サンプルコード

Dockerfile

シェルが貧弱なので、ついでに好きなシェルも入れておくのが無難

FROM golang:1.16.4-alpine3.13
RUN apk add git gcc libc-dev
RUN go get golang.org/x/tools/gopls \ && go get -u github.com/go-delve/delve/cmd/dlv

.vscode/settings.json

  • あとは F5 を押せば起動する

{ "version": "0.2.0", "configurations": [ { "name": "Launch file", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceFolder}/" }, ]
}

トラブルシュート

デバッグしようとして起きるエラーとか
上のサンプルコードを使っている限り起きないはず

exec: “gcc”: executable file not found in $PATH

gcc を入れれば解決する

_cgo_export.c:3:10: fatal error: stdlib.h: No such file or directory

libc-dev を入れれば解決する