這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
關鍵字
- 最簡單的調試攻略
- 多項目調試, 適用個人開發和項目開發
- 無需修改系統內容變數
準備VSCode
在官網下載最新版的VSCode:
Visual Studio Code - Code Editing. Redefined**
安裝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}", 以包名作為啟動點的方式進行配置
參考連結
Debugging in Visual Studio Code