panco’s blog

興味が沸いたことを書く

【Windows】VSCode で Go 言語のプログラムをデバッグする

VSCode で Go 言語のデバッグ環境を整えるのに少し手間取ったため、手順を残しておく。

実行環境

前提

Go 言語のインストール、環境変数の設定ができていること。(他のサイトにいくつか解説されていたためここでは割愛する)
インストールは以下のサイトから msi ファイルをダウンロードし実行した。

Download and install - The Go Programming Language

1.Go 拡張機能のインストール

VSCode の Extensions から Go をインストールする。

Go Extension

2.go-delve のインストール

インストールした Go Extension のデバッグ機能を使うには go-delve が必要。
PowerShell で以下のコマンドを実行し、Github から最新バージョンの go-delve をインストールする。

go install github.com/go-delve/delve/cmd/dlv@latest

コマンド実行結果

go-delve のインストール

3.launch.json の編集

初めて Run and Debug を押して F5(Start Debugging)を押すと、launch.json が生成される。 そのファイルに以下のように記載する。今回はserver.goというプログラムをデバッグする例を記載している。
launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      // デバッグ対象プログラムのパス
      "program": "${workspaceFolder}/001-echoserver/main/server.go",
      "env": {},
      "args": ["-test.v"],
      "showLog": true
    }
  ]
}

4.デバッグ実行

以下の流れでデバッグを実行する。Go 言語に限らず、Python など他のコードを VSCodeデバッグするときと同じ。

  1. デバッグ対象の任意のコードにブレイクポイントを仕込む
  2. Run and Debug から Lauch を選択して F5(Start Debugging)を押す
  3. デバッグが開始され、ブレイクポイントを設置した箇所で止まる。以下のような画面になる。DEBUG CONSOLE が表示されたり変数の値が左のウィンドウから確認できたりする。

参考