Vscode調試golang的debug


配置啟動項

  打開調試面板: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
        }
    ]
}

    其中"post","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 get github.com/derekparker/delve/cmd/dlv  將dlv調試器放在GOPATH的bin目錄下

開始調試

  選中要調試的main.go,點擊F5可以開始調試

  調試快捷鍵:

      F9 切換斷點

      F10 Step over

      F11 Step in

      Shift+F11 Step out

  注意:有些結構體成員法務直接顯示時,可以直接選中變量名,添加到監視,或者右鍵點擊"調試:求值"

多項目調試

  在launch.json中可以添加多組調試入口,通過調試面板中選中對應的配置開啟不同目標的調試

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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM