/var/log/messages

Jan 31, 2018 - 1 minute read - Comments - misc

delve

以下で導入。

$ go get github.com/derekparker/delve/cmd/dlv
package github.com/derekparker/delve/cmd/dlv
        imports github.com/cosiner/argv
        imports gopkg.in/yaml.v2
        imports go/constant: unrecognized import path "go/constant"

できてなさげ。GOROOT が云々、というドキュメントがあったのですが、でびあんの場合どうすりゃいいのかと。

本家のドキュメントに出てた以下でも NG でした。

$ go get -u github.com/derekparker/delve/cmd/dlv

ぐぬぬ。どうも 1.4 な go では駄目なのかどうか。って確認してみると何故だか /usr/local/go に導入されてて /usr/bin にリンクが貼ってある。

対処

以下な symlink を削除。

  • /usr/bin/go
  • /usr/bin/godoc
  • /usr/bin/gofmt

で、でびあんぱけじ導入。

$ sudo apt-get install -y golang

で、リトライしたら問題なくコマンド終了。

使い方

以下?

$ dlv debug github.com/yamanetoshi/hello
Type 'help' for list of commands.
(dlv) break main.main
Breakpoint 1 set at 0x40100f for main.main() ./src/github.com/yamanetoshi/hello/hello.go:5
(dlv) c
> main.main() ./src/github.com/yamanetoshi/hello/hello.go:5 (hits goroutine(1):1 total:1) (PC: 0x40100f)
     1: package main
     2:
     3: import "fmt"
     4:
=>   5: func main() {
     6:      fmt.Printf("Hello, world\n")
     7: }

起動できれば後はなんとかなるのかどうか。

勉強会ネタ memo

comments powered by Disqus