在 VSCode 中调试 Go 程序需安装官方 Go 扩展和 Delve 调试器,验证 go/dlv 环境,配置 launch.json(mode 可选 auto/exec/test),设断点后按 F5 启动,支持单步调试与表达式求值。
在 VSCode 中调试 Go 程序,核心是安装正确扩展、配置好 launch.json,并确保 Go 工具链就绪。不需要复杂插件堆砌,关键步骤到位就能快速启动调试。
打开 VSCode 扩展市场(Ctrl+Shift+X),搜索并安装:
go install github.com/go-delve/delve/cmd/dlv@latest$GOPATH/bin(或 go env GOPATH 对应路径下的 /bin)已加入系统 PATH
在终端运行以下命令验证:
go version —— 检查 Go 版本(建议 1.18+)which dlv 或 dlv version —— 确认 Delve 可执行go env GOPATH GOROOT —— 查看路径,VSCode 会用到这些值如果 dlv 找不到,重启 VSCode 或手动在设置中指定 go.delvePath 路径(如 /home/xxx/go/bin/dlv)。
打开项目根目录 → 按 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 启动调试。界面将显示变量、调用栈、调试控制栏。
Ctrl+Shift+Y)可输入表达式实时求值,如 len(mySlice)、fmt.Sprintf("%v", err)
若调试中断但无响应,检查是否在非 main 包下启动了 mode: "auto" —— 此时需明确指定 "program" 到含 main() 的文件。