首頁  >  文章  >  開發工具  >  詳解VSCode中如何調試Golang工程

詳解VSCode中如何調試Golang工程

青灯夜游
青灯夜游轉載
2021-04-12 11:26:145348瀏覽

本篇文章跟大家介紹一下使用VSCode來偵錯Golang工程的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

詳解VSCode中如何調試Golang工程

推薦學習:《vscode教學

關鍵字

  • #最簡單的偵錯攻略
  • 多專案偵錯, 適用個人開發與專案開發
無需修改系統環境變數

準備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}", 以套件名稱作為啟動點的方式進行設定 #更多程式相關知識,請造訪:

程式設計影片###! ! ###

以上是詳解VSCode中如何調試Golang工程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cloud.tencent.com。如有侵權,請聯絡admin@php.cn刪除