本篇文章給大家介紹一下使用vscode調試golang工程的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
推薦學習:《vscode》
關鍵字
- 最簡單的調試攻略
- 多項目調試, 適用個人開發和項目開發
- 無需修改系統環境變量
準備vscode
在官網下載最新版的VSCode:
visual studio Code – Code Editing. Redefined**
立即學習“go語言免費學習筆記(深入)”;
安裝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}”, 以包名作為啟動點的方式進行配置
更多編程相關知識,請訪問:vscode!!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END