來(lái)自:戰(zhàn)魂小筑
http://www.shnenglu.com/sunicdavy/archive/2017/04/20/214874.html
使用Visual Studio Code調(diào)試Golang工程
關(guān)鍵字
- 最簡(jiǎn)單的調(diào)試攻略
- 多項(xiàng)目調(diào)試, 適用個(gè)人開(kāi)發(fā)和項(xiàng)目開(kāi)發(fā)
- 無(wú)需修改系統(tǒng)環(huán)境變量
準(zhǔn)備VSCode
在官網(wǎng)下載最新版的VSCode:
https://code.visualstudio.com/
安裝Golang插件
配置啟動(dòng)項(xiàng)
-
打開(kāi)調(diào)試面板
VSCode->查看->調(diào)試
-
添加調(diào)試目標(biāo)
在"沒(méi)有調(diào)試"的下拉框中點(diǎn)擊"添加配置.."
-
添加目標(biāo)調(diào)試配置
例子:
{
"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插件自動(dòng)生成的
"env"為設(shè)置環(huán)境變量, 設(shè)置為你的工程目錄就可以(包含bin, src的文件夾)
準(zhǔn)備調(diào)試插件
此時(shí)找到main.go按F5, 會(huì)報(bào)錯(cuò)提示:
Failded to continue:"Cannot find Delve debugger. Install from https://github.com/derekparker/delve & ensure it is in your "GOPATH/bin" or "PATH"
我們使用go命令行編譯調(diào)試器
go get github.com/derekparker/delve/cmd/dlv
將dlv調(diào)試器放在GOPATH(工程目錄)的bin目錄下
開(kāi)始調(diào)試
選中要調(diào)試的main.go, 點(diǎn)擊F5, 既可以開(kāi)始調(diào)試
調(diào)試快捷鍵和Visual Studio系一致
- F9 切換斷點(diǎn)
- F10 Step over
- F11 Step in
- Shift+F11 Step out
注意點(diǎn)
- 某些結(jié)構(gòu)體成員無(wú)法直接顯示時(shí), 可以直接選中變量名, 添加到監(jiān)視, 或者右鍵點(diǎn)擊: "調(diào)試:求值"
多項(xiàng)目調(diào)試
在launch.json中可以添加多組調(diào)試入口, 通過(guò)調(diào)試面板中選中對(duì)應(yīng)的配置開(kāi)啟不同目標(biāo)的調(diào)試
{
"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}"是以當(dāng)前選中文件作為啟動(dòng)點(diǎn)
更建議使用"program"的"${workspaceRoot}", 以包名作為啟動(dòng)點(diǎn)的方式進(jìn)行配置
參考鏈接
https://code.visualstudio.com/Docs/editor/debugging
posted on 2017-06-13 23:08
思月行云 閱讀(294)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Golang