在 VSCode 中调试 Go 程序需安装官方 Go 扩展和 Delve 调试器,验证 go/dlv 环境,配置 launch.json(mode 可选 auto/exec/test),设断点后按 F5 启动,支持单步调试与表达式求值。

在 VSCode 中调试 Go 程序,核心是安装正确扩展、配置好 launch.json,并确保 Go 工具 链就绪。不需要复杂插件堆砌,关键步骤到位就能快速启动调试。
安装必要扩展和工具
打开 VSCode 扩展市场(Ctrl+Shift+X),搜索并安装:
- Go 扩展(由 Go Team 官方维护):提供调试支持、代码补全、格式化等基础能力
- Delve(dlv)调试器 :Go 官方推荐的调试器,VSCode 的 Go 扩展会提示自动安装;若未安装,终端执行:
go install github.com/go-delve/delve/cmd/dlv@latest
确保$GOPATH/bin(或go env GOPATH对应路径下的/bin)已加入系统PATH
确认 Go 环境可用
在终端运行以下命令验证:
-
go version—— 检查 Go 版本(建议 1.18+) -
which dlv或dlv version—— 确认 Delve 可执行 -
go env GOPATH GOROOT—— 查看路径,VSCode 会用到这些值
如果 dlv 找不到,重启 VSCode 或手动在设置中指定 go.delvePath 路径(如 /home/xxx/go/bin/dlv)。
立即学习“go 语言免费学习笔记(深入)”;
配置 launch.json 启动调试
打开项目根目录 → 按 Ctrl+Shift+P → 输入“Debug: Open launch.json”→ 选择“Go”环境,自动生成 配置文件。常用配置示例如下:
{"version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "test", // 或 "auto", "exec", "test", "core" "program": "${workspaceFolder}", "env": {}, "args": [] } ] }
- 调试主程序:设
"mode": "auto"(默认识别main.go)或"mode": "exec"+"program": "./main.go" - 调试测试函数:设
"mode": "test",光标放在测试函数内,按 F5 即可运行对应TestXXX - 调试带参数的程序:在
"args"数组中添加字符串,如["--port=8080", "config.yaml"]
开始调试与常用操作
在代码行号左侧点击设断点(红点),按 F5 启动调试。界面将显示变量、调用 栈、调试控制栏。
- F9:切换断点
- F10:单步跳过(Step Over)
- F11:单步进入(Step Into)
- Shift+F11:单步跳出(Step Out)
- 调试控制台(
Ctrl+Shift+Y)可输入表达式实时求值,如len(mySlice)、fmt.Sprintf("%v", err)
若调试中断但无响应,检查是否在非 main 包下启动了 mode: "auto" —— 此时需明确指定 "program" 到含 main() 的文件。