本篇文章給大家介紹一下使用vscode調(diào)試golang工程的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
推薦學(xué)習(xí):《vscode》
關(guān)鍵字
- 最簡單的調(diào)試攻略
- 多項目調(diào)試, 適用個人開發(fā)和項目開發(fā)
- 無需修改系統(tǒng)環(huán)境變量
準(zhǔn)備vscode
在官網(wǎng)下載最新版的VSCode:
visual studio Code – Code Editing. Redefined**
立即學(xué)習(xí)“go語言免費學(xué)習(xí)筆記(深入)”;
安裝golang插件
- 打開擴(kuò)展面板 VSCode->查看->擴(kuò)展
- 找到Go插件 在搜索框里輸入Go, 找到第二行寫有 Rich Go language support for visual studio code的插件, 點擊安裝 注意不是排名最高的
- 重啟編輯器
配置啟動項
- 打開調(diào)試面板 VSCode->查看->調(diào)試
- 添加調(diào)試目標(biāo) 在”沒有調(diào)試”的下拉框中點擊”添加配置..”
-
添加目標(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插件自動生成的
“env”為設(shè)置環(huán)境變量, 設(shè)置為你的工程目錄就可以(包含bin, src的文件夾)
準(zhǔn)備調(diào)試插件
此時找到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命令行編譯調(diào)試器
go?get?github.com/derekparker/delve/cmd/dlv
將dlv調(diào)試器放在GOPATH(工程目錄)的bin目錄下
開始調(diào)試
選中要調(diào)試的main.go, 點擊F5, 既可以開始調(diào)試
調(diào)試快捷鍵和Visual Studio系一致
- F9 切換斷點
- F10 Step over
- F11 Step in
- Shift+F11 Step out
注意點
- 某些結(jié)構(gòu)體成員無法直接顯示時, 可以直接選中變量名, 添加到監(jiān)視, 或者右鍵點擊: “調(diào)試:求值”
多項目調(diào)試
在launch.json中可以添加多組調(diào)試入口, 通過調(diào)試面板中選中對應(yīng)的配置開啟不同目標(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)前選中文件作為啟動點
更建議使用”program”的”${workspaceRoot}”, 以包名作為啟動點的方式進(jìn)行配置
更多編程相關(guān)知識,請訪問:vscode!!
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END