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)