vscodeデバッグgolang環境の構築と構成

3738 ワード

VSCodeの準備


公式サイトで最新版のVSCodeをダウンロードします.

Golangプラグインのインストール

  • 拡張パネルを開くVSCode->表示->拡張
  • Goプラグインを見つけて検索ボックスにGoを入力し、2行目に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 F 5を押すと、エラーメッセージが表示されます.
    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、F 5をクリックすると、デバッグを開始できます
    デバッグ・ショートカットはVisual Studioと一致
  • F 9切替ブレークポイント
  • 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
            }
        ]
    }
    

    プログラム内の${fileDirname}は、現在選択されているファイルを起動点として使用します.
    さらに、「プログラム」の「${workspaceRoot}」を使用して、パッケージ名をスタートポイントとして構成することをお勧めします.

    リファレンスリンク


    Debugging in Visual Studio Code