edo1z blog

プログラミングなどに関するブログです

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