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を試してみる