about delve


Go 専用 debugger を活用する

delve とは

delve github
simple で多機能な Go の debug ツールを目指したプロジェクト

ひとまず go get しましょう

vscode extension

導入方法はネットの記事に譲ります

条件付きブレークポイント

特定の条件のケースのみ変数を確認したい

他の goroutine の状態確認

gdb だと難しい

コアダンプした変数の値を確認(linux)

    
    $ gcore <PID>
    $ dlv core <binary name> <coredump name>
    
  

実際にやってみた

DEMO

すでに起動しているプロセスにアタッチ

    
    # 最適化オプションを切ったものだとデバッグしやすい
    $ go build -gcflags "-N -l" .
    $ dlv attach <PID>