如何解决在 VScode 中调试 golang 时断点不起作用 我使用的是什么版本的 Go (go version)?我使用的是什么操作系统和处理器架构 (go env)?launch.json你希望看到什么??

我在调试一个用golang完成的项目时遇到问题,该项目编译正确,运行完美,但是当我添加断点时,控制台返回以下错误。 我没有使用 rosetta。

我也设法用 GoLand (IDE JetBrains) 重现了同样的问题

enter image description here

如果我删除断点并继续该过程,项目将继续运行而不会出错。问题是VScode什么时候找到断点。

我使用的是 ma​​cOS Big Sur 版本 11.3 (20E232)

go version

    $ go version go1.16.3 darwin/arm64

go env
go env
输出
$ go env
GO111MODULE="on"
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/thomascaycedomartinez/Library/Caches/go-build"
GOENV="/Users/thomascaycedomartinez/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/thomascaycedomartinez/go/pkg/mod"
GOnopROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/thomascaycedomartinez/go"
GOPRIVATE=""
goproxy="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.16.3"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONfig="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2x/7xq8cphj5gzc5lq2fbbl3vtw0000gn/T/go-build3536386239=/tmp/go-build -gno-record-gcc-switches -fno-common"

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information,visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0","configurations": [
        {
            "name": "kuenta backend","type": "go","request": "launch","mode": "auto","program": "${workspaceFolder}/cmd/kuenta","env": {
                "HOSTNAME": "localhost"
            },"args": []
        }
    ]
}

你希望看到什么?

断点应该可以正常工作。

解决方法