使用Visual Studio Code調試Golang工程
關鍵字
- 最簡單的調試攻略
- 多項目調試, 適用個人開發和項目開發
- 無需修改系統環境變量
準備VSCode
在官網下載最新版的VSCode:
https://code.visualstudio.com/
安裝Golang插件
配置啟動項
-
打開調試面板
VSCode->查看->調試
-
添加調試目標
在"沒有調試"的下拉框中點擊"添加配置.."
-
添加目標調試配置
例子:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${fileDirname}",
"env": {
"GOPATH":"D:/Develop/vscodegolang"
},
"args": [],
"showLog": true
}
]
}
其中: "port", "host"都是go插件自動生成的
"env"為設置環境變量, 設置為你的工程目錄就可以(包含bin, src的文件夾)
準備調試插件
此時找到main.go按F5, 會報錯提示:
Failded to continue:"Cannot find Delve debugger. Install from https://github.com/derekparker/delve & ensure it is in your "GOPATH/bin" or "PATH"
我們使用go命令行編譯調試器
go get github.com/derekparker/delve/cmd/dlv
將dlv調試器放在GOPATH(工程目錄)的bin目錄下
開始調試
選中要調試的main.go, 點擊F5, 既可以開始調試
調試快捷鍵和Visual Studio系一致
- F9 切換斷點
- F10 Step over
- F11 Step in
- Shift+F11 Step out
注意點
- 某些結構體成員無法直接顯示時, 可以直接選中變量名, 添加到監視, 或者右鍵點擊: "調試:求值"
多項目調試
在launch.json中可以添加多組調試入口, 通過調試面板中選中對應的配置開啟不同目標的調試
{
"version": "0.2.0",
"configurations": [
{
"name": "client",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${fileDirname}",
"env": {
"GOPATH":"D:/Develop/vscodegolang"
},
"args": [],
"showLog": true
},
{
"name": "server",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}/src/server",
"env": {
"GOPATH":"D:/Develop/vscodegolang"
},
"args": [],
"showLog": true
}
]
}
"program"中的"${fileDirname}"是以當前選中文件作為啟動點
更建議使用"program"的"${workspaceRoot}", 以包名作為啟動點的方式進行配置
參考鏈接
https://code.visualstudio.com/Docs/editor/debugging