

WSL 上の Golang のソースを VSCode からデバッグしようと思い環境構築していましたが、WSL上で dlv
が期待した動作をしてくれませんでした。間違っている箇所を教えてください。

# 概要

Golangでリモートデバッグをする環境を構築するために delve
を使用してローカル環境に対してローカル環境からリモートデバッグをしてみたが、対話シェルが起動しない

# 環境

windows 10 WSL Ubuntu  
Golang 1.11.5  
dlv `go get -u github.com/go-delve/delve/cmd/dlv` で入る最新

# やったこと

テスト用のコードを作った

[code]

    # テストするためのソースコードを置くディレクトリを作成する
    mkdir debugtest
    cd debugtest
    vi main.go
    
[/code]

main.goの中身

[code]

    package main
    import "fmt"
    func main() {
        fmt.Println("hello world")
    }
    
[/code]

dlv サーバー側を起動

[code]

    dlv debug -l 0.0.0.0:2345 --headless --log
    
[/code]

dlv クライアントを別の端末から起動

[code]

    dlv connect 127.0.0.1:2345
    
[/code]

結果としてクライアント端末標準出力になにも表示しませんでした。  
引数が間違っているのかと思いいろいろ試してみましたが状況は変わりませんでした。

[code]

    # ex.
    dlv debug ./main.go -l 0.0.0.0:2345 --headless --log
    dlv debug -l 127.0.0.1:2345 --headless --log
    dlv debug -l 0.0.0.0:2345 --headless --log
    dlv debug -l=":2345" --headless --log
    
[/code]

サーバー側がctrl+c等で終了しないのでハングアップしてる可能性もありそうです。

# 期待する動作

cliが起動する

[code]

    $ dlv connect 127.0.0.1:2345
    (dlv) 
    
[/code]

# 参考

<https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code>  
<https://github.com/go-
delve/delve/blob/master/Documentation/usage/dlv_debug.md>  
<https://budougumi0617.github.io/2018/04/08/debug-by-delve/>

# 備考

あくまで WSL 上で dlv のリモートデバッグをする方法が知りたいです。  
Mac つかうとか WSL 諦めて Docker 使うとか一旦代案はなしでお願いしたいです。


CC BY-SA 4.0
2019-02-18T07:22:05.000
52848
2019-02-18T07:30:47.780
2019-02-18T07:30:47.780
32222
32222
question
go
Golang でリモートデバッグをしたいが接続が確立されない