KDOC 124: go-dlv.elを使う
この文書のステータス
- 作成
- 2024-03-16 貴島
- レビュー
- 2024-04-03 貴島
go-dlv.el
Goのデバッガでdelveをよく使う。
Emacs上でこのdelveを扱いやすくするためのラッパーパッケージgo-dlv.elがある。 (dlv-current-func)
を実行してカーソル上の関数をデバッグ実行できる。
同じようなラッパーには dap-mode
を使う方法もあるのだが、EmacsっぽくないUIなので、go-dlv.elの方が好み。
(dlv) Breakpoint 1 set at 0x78e853 for main.main() ./snippet.go:27 (dlv) > main.main() ./snippet.go:27 (hits goroutine(1):1 total:1) (PC: 0x78e853) 22: if err != nil { 23: log.Fatal(err) 24: } 25: } 26: => 27: func main() { 28: http.HandleFunc("/hello", helloHandler) 29: fmt.Println("Server Start Up........") 30: log.Fatal(http.ListenAndServe("localhost:8080", nil)) 31: } (dlv) n > main.main() ./snippet.go:28 (PC: 0x78e85a) 23: log.Fatal(err) 24: } 25: } 26: 27: func main() { => 28: http.HandleFunc("/hello", helloHandler) 29: fmt.Println("Server Start Up........") 30: log.Fatal(http.ListenAndServe("localhost:8080", nil)) 31: } (dlv)