Delve(dlv)是Go项目最主流可靠的调试工具,支持goroutine、channel等原生特性,可命令行或IDE集成使用;安装用go install github.com/go-delve/delve/cmd/dlv@latest,验证用dlv version。

在 Go 项目中使用 Delve(dlv)调试代码,是目前最主流、最可靠的调试方式。它原生支持 Go 语言特性(如 goroutine、channel、interface 动态类型),能直接与 VS Code、GoLand 等 IDE 集成,也可以纯命令行操作。
安装 Delve 工具
推荐使用 go install 安装最新稳定版:
- 运行 go install github.com/go-delve/delve/cmd/dlv@latest
- 确保 $GOPATH/bin 在系统 PATH 中(多数情况下 go install 默认安装到此处)
- 执行 dlv version 验证是否安装成功
命令行调试基础用法
无需 IDE,也能高效调试。常用流程如下:
- 进入项目根目录,运行 dlv debug 启动调试会话(自动编译并加载)
- 设置断点:输入 b main.main 或 b ./main.go:15
- 启动程序:输入 c(continue),程序会在断点处暂停
- 查看变量:p variableName;查看堆栈:bt;单步执行:n(next)、s(step into)
- 输入 q 退出调试器
VS Code 中集成 Delve
安装官方扩展 “Go”(由 Go Team 维护)后,自动包含 Delve 支持:
注意:需要在本地调试我们的网站的必须安装配置IIS,不可以使用ASP调试工具.exe或小旋风asp或APMServ等这类工具调试,因为这类简易的IIS替代工具,去掉了很多功能,有些语句是不支持的。 【程序】ASP 【数据库】ACCESS (只要支持ASP的空间均自带此数据库) 【前台】全部生成.html静态页面 本程序专为企业网站进行打造,三大特色无与伦比: ☆全后台操作☆前台所有内容均可以后台
立即学习“go语言免费学习笔记(深入)”;
- 打开项目文件夹,在代码行号左侧点击设断点(红点)
- 按 Ctrl+Shift+D 打开调试面板,点击绿色 ▶️ 启动调试(首次会自动生成 .vscode/launch.json)
- 确保 launch.json 中的 mode 为 "auto" 或 "exec"/"test"/"core",program 指向主入口(如 "." 或 "./cmd/myapp")
- 调试时可查看变量、调用栈、goroutine 列表(调试侧边栏 → Goroutines 标签)
调试常见场景技巧
针对 Go 特有结构,注意以下细节:
- 调试测试文件:用 dlv test 替代 dlv debug,或在 VS Code 中右键测试函数选择 “Debug Test”
- 查看 goroutine 状态:调试中输入 info goroutines,再用 goroutine X bt 查看指定协程堆栈
- 调试远程服务:先在目标机器运行 dlv exec ./myserver --headless --listen=:2345 --api-version=2,本地用 dlv connect 连接
- 跳过 vendor / Go 标准库:在 launch.json 中添加 "dlvLoadConfig": { "followPointers": true, "maxVariableRecurse": 1, "maxArrayValues": 64, "maxStructFields": -1 } 并配置 "dlvLoadConfig": { "exclude": [".*vendor.*", "runtime.*"] }









