DEV

Go - Delveでデバッグしてみる

Delveを使ってみます。コマンドライン上で使えるデバッガです。インストール方法は、下記です。

インストール

$ go get github.com/derekparker/delve/cmd/dlv

使い方

ヘルプとかバージョンを確認

$ dlv help
$ dlv version

Debugする

dlv debugでデバッグ開始できます。下記のようにやると待ち受け状態になります。

$ dlv debug test.go
Type 'help' for list of commands.

breakか、bでブレークポイントを設定できます。

b test.go:8
b test.go:13
  • continueかcで次のブレークポイントに飛びます。
  • nextかnで次の行にいきます。
  • printかpで、ブレーク時点での変数を内容を出力できます。
  • qで終了します。
c
8: m := map[int][]int{
9: 1: {1},
10: 2: {1, 2},
11: 3: {1, 2, 3},
12: }
=> 13: fmt.Println(m)
14: fmt.Println(m[3][2])
15: }
p m
map[int][]int [
1: [1],
2: [1,2],
3: [1,2,3],
]
n
map[1:[1] 2:[1 2] 3:[1 2 3]]
9: 1: {1},
10: 2: {1, 2},
11: 3: {1, 2, 3},
12: }
13: fmt.Println(m)
=> 14: fmt.Println(m[3][2])
15: }
q

リモートデバッグ

下記によるとリモートデバッグもできるらいし。 参考:Windows対応中のGo言語のデバッガーdelveを試してみる