1.前期准备
(1).在vs code中的扩展程序中搜索并安装Go扩展程序
(2).安装 Delve 调试器
go install github.com/go-delve/delve/cmd/dlv@latest
(3).打开vs code的命令面板,输入Go: Install/Update Tools
,并单击该命令执行,安装或更新Go语言的工具
2.启动调试
(1).创建launch.json文件
Go
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/main.go" // 输入对应的启动文件
//"cwd": "${workspaceFolder}",
"args": [],
"env": {},
"stopOnEntry": false,
"trace": false,
"console": "integratedTerminal"
}
]
}
参数说明:
"program": 指向正确的 Go 文件或包: 对应的参数值可以为如下值:
${workspaceFolder}:表示项目根目录.指向要调试的 Go 文件或包;指向包含 Go 源代码的正确目录:默认启动项目根目录
"cwd": 工作目录,参数值可以为如下值:
${workspaceFolder}:表示项目根目录.
"env":指定环境变量,如果程序需要特定的环境变量,可以这样设置:
Go"env": { "DATABASE_URL": "postgres://user:password@localhost:5432/dbname", "ANOTHER_VAR": "value" }
注意:
当项目启动目录和项目运行目录不在同一目录时,可以分别设置cwd和program,以达到调试目的,eg:项目需要在{workspaceFolder}/bin目录下启动并运行{workspaceFolder}/backend目录下的main.go,server.go等go文件,就需要修改program,cwd参数,修改如下:
Go{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/backend", // 对应的运行文件或者包目录 "cwd": "${workspaceFolder}/'bin'", // 对应的启动文件目录 } ] }
3.设置断点,点击调试按钮
启动后,打开接口工具或者文档,发送接口请求,成功进入断点证明没有问题
调试过程中,当代码执行到设置的断点处时,它将暂停执行。可以使用调试工具栏上的控制按钮(如继续、单步执行等)以及观察变量和堆栈信息来检查代码的执行情况