lelelemon’s blog

カメの歩みでのんびり学んでいます。

【Go言語】VSCode でデバッグ環境を構築する

開発においてデバッグができるとエラーの特定がしやすいので、

VSCode において Go のデバッグ環境の構築メモを記載します。

 

検証用コード

package main

import "fmt"

func main() {
    a := 1
    b := 2
    c := a + b

    fmt.Println("合計:", c)
}

 

go run main.go 
合計: 3

 

なんでもないシンプルなコードです。

各変数に入る値をデバッグできるようにしてみます。

手順1:デバッグツール(go-delve)を VSCode にインストールする

VSCodeデバッグメニュー(上から4つ目のアイコン)をクリックし、「Run and Debug」をクリックします。

 

すると、VSCode の右下に下記のエラーを示すダイアログが出てきます。

 

どうやら、go-delve というGoの拡張機能が必要なようなので、上記のエラーの指示に従ってインストールします。

Tools environment: GOPATH=/root/go
Installing 1 tool at /root/go/bin
  dlv

Installing github.com/go-delve/delve/cmd/dlv@latest (/root/go/bin/dlv) SUCCEEDED

All tools successfully installed. You are ready to Go. :)

 

手順2:デバッグ実行

インストールできたので、再び「Run and Debug」をクリックします。

 

go.mod がないと怒られたので、「go mod init {プロジェクトフォルダ名}」コマンドを実行して go.mod を作成してから、再度「Run and Debug」をクリックします。

 


エラーが解消して無事に起動できました。

 

続いて、ブレークポイントで特定の場所で処理を止め、変数の値を確認してみます。

10行目の箇所にブレークポイントを貼っています。

ここで処理を一時中断し、変数の値を確認してみます。

 

 

ブレークポイントを貼った状態で、「Run and Debug」をクリックして実行します。

 

すると左上の VARIABLES メニューでブレークポイントで止めた時点の各変数値が確認できます。

ちなみに、F5キーで処理を再開できます。

 

以上、デバッグ環境が構築できました。

 

いままでコマンドラインからの実行のみでコンソールに出力されるエラーを頼りに修正をしていましたが、デバッグできるようになったのでより楽にエラー解消やプログラムの動作確認ができそうです。