【问题标题】:Debugging Golang in VS Code using delve doesn't work properly使用 delve 在 VS Code 中调试 Golang 无法正常工作
【发布时间】:2022-01-01 21:50:28
【问题描述】:

我正在为 Golang 设置 Visual Studio Code,但调试无法正常工作。我得到以下输出:

Starting: /home/shaze/go/bin/dlv-dap dap --check-go-version=false --listen=127.0.0.1:37317 --log-dest=3 from /home/shaze/go/new
DAP server listening at: 127.0.0.1:37317
Type 'dlv help' for list of commands.
user1
20
Process 74396 has exited with status 0
Detaching
dlv dap (74287) exited with code: 0

启动脚本如下所示:

 {
        // 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": "Launch Package",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "program": "${fileDirname}"
            }
        ]
    }

去环境:

GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/shaze/.cache/go-build"
GOENV="/home/shaze/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/shaze/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/shaze/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build262010564=/tmp/go-build -gno-record-gcc-switches"

很遗憾,调试器什么也没显示: https://i.stack.imgur.com/QUvbt.png

我认为这里的连接不正确。感谢您的帮助,在此先感谢您!

【问题讨论】:

  • 您的程序已经成功执行并完成。它打印了user1 20。你期待看到什么?
  • 嗨@rustyx,我想查看左侧的变量和调用堆栈。它始终是空的,因此它不与 Visual Code GUI 交互。谢谢!
  • 设置断点或使用stopOnEntry

标签: visual-studio go visual-studio-code vscode-debugger


【解决方案1】:

您的调试器工作正常并正确完成了执行。如果你想一次看到程序状态,你需要添加一个断点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2022-06-21
    • 1970-01-01
    • 2017-09-15
    • 2023-01-25
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多