以下で導入。
$ 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: }
起動できれば後はなんとかなるのかどうか。