Golang调试工具Delve在VS Code中的常见错误解决方案

Golang调试工具Delve在VS Code中的常见错误解决方案 我在VS Code中尝试启动Delve时遇到了问题。 启动调试时出现以下错误:

    Starting: C:\Users\PC\go\bin\dlv-dap.exe dap --check-go-version=false --listen=127.0.0.1:52961 from c:\Go\App
DAP server listening at: 127.0.0.1:52961
Build Error: go build -o C:\Users\PC~1\AppData\Local\Temp\__debug_bin3034027566.exe -gcflags all=-N -l .
go: updates to go.mod needed; to update it:
	go mod tidy (exit status 1)

以下是我的 go env 信息:

set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\PC\AppData\Local\go-build
set GOENV=C:\Users\PC\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\PC\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\PC\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.6
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Go\App\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\PC~1\AppData\Local\Temp\go-build3425835977=/tmp/go-build -gno-record-gcc-switches

更多关于Golang调试工具Delve在VS Code中的常见错误解决方案的实战教程也可以访问 https://www.itying.com/category-94-b0.html

7 回复

你用什么进行调试?

更多关于Golang调试工具Delve在VS Code中的常见错误解决方案的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


我重启了电脑,现在似乎可以正常工作了。不过,我无法先运行我的应用程序,然后同时启动调试会话,这正常吗?

  1. 测试
  2. fmt.Printf 图片

抱歉,我不知道。我的开发系统是32位x86架构,不支持delve。man_shrugging

chris007:

go: updates to go.mod needed; to update it:
	go mod tidy (exit status 1)

你试过按照提示运行 go mod tidy 吗?

是的,我做了。它移除了 delve,然后 VS Code 要求我重新安装它。 需要说明的是,我当前的项目位于这里: C:\Go\App 我在想这是否是一个 GOPATH 的问题? 然后我收到了这条消息:

正在启动:C:\Users\PC\go\bin\dlv-dap.exe dap --check-go-version=false --listen=127.0.0.1:55205 来自 c:\Go\App.vscode

DAP 服务器监听地址:127.0.0.1:55205

构建错误:go build -o C:\Users\PC~1\AppData\Local\Temp__debug_bin1831168297.exe -gcflags all=-N -l . c:\Go\App.vscode 中没有 Go 文件(退出状态 1)

这个错误是因为你的 go.mod 文件需要更新。Delve 在启动调试时会尝试编译程序,但编译失败是因为 go.mod 文件与项目中的实际依赖不匹配。

解决方案:

1. 运行 go mod tidy 更新依赖

在项目根目录(C:\Go\App)中执行:

cd C:\Go\App
go mod tidy

2. 如果问题仍然存在,检查 go.mod 文件

确保 go.mod 文件内容正确。例如:

module your-app

go 1.17

require (
    // 你的依赖项
)

3. 验证模块路径

检查模块路径是否正确配置:

go list -m

4. 清理模块缓存(可选)

如果上述步骤无效,可以尝试清理模块缓存:

go clean -modcache
go mod tidy

5. 在 VS Code 中重新启动调试

执行完 go mod tidy 后,重新在 VS Code 中按 F5 启动调试。

常见原因:

  • go.mod 文件中声明的依赖版本与实际导入的包不匹配
  • 缺少某些依赖项
  • go.mod 文件格式错误

执行 go mod tidy 会自动分析代码中的导入语句,添加缺失的依赖项并移除未使用的依赖项,使 go.mod 文件与代码保持同步。

回到顶部