お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

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

確認環境

Env Ver Misc
golang 1.16.4-alpine3.13 DockerImage
VSCode 1.56.0
golang.go 0.24.2 VSCode 拡張

サンプルコード

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を入れれば解決する