來自:戰魂小筑
http://www.shnenglu.com/sunicdavy/archive/2017/04/20/214874.html
使用Visual Studio Code調試Golang工程
關鍵字
- 最簡單的調試攻略
- 多項目調試, 適用個人開發和項目開發
- 無需修改系統環境變量
準備VSCode
在官網下載最新版的VSCode:
https://code.visualstudio.com/
安裝Golang插件
-
打開擴展面板
VSCode->查看->擴展
-
找到Go插件 在搜索框里輸入Go, 找到第二行寫有 Rich Go language support for Visual Studio Code的插件, 點擊安裝
注意不是排名最高的
-
重啟編輯器
配置啟動項
-
打開調試面板
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}", 以包名作為啟動點的方式進行配置