使用Visual Studio Code調試Golang工程

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

關鍵字

  • 最簡單的調試攻略
  • 多項目調試, 適用個人開發和項目開發
  • 無需修改系統內容變數

準備VSCode

在官網下載最新版的VSCode:

Visual Studio Code - Code Editing. Redefined**

安裝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}", 以包名作為啟動點的方式進行配置

參考連結

Debugging in Visual Studio Code

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.