Точки останова игнорируются при отладке ethereum-go в коде Visual Studio с расширением Rich Go - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь отладить код go-ethereum внутри кода Visual Studio.До сих пор я смог собрать отладочную версию двоичных файлов, изменив Makefile и запустив проект в VS Code с установленным расширением «Rich Go».

Запись в MakeFile:

debug:
    # https://ethereum.stackexchange.com/questions/41489/how-to-debug-geth-with-delve?rq=1
    @echo building debug version
    build/env.sh go build -o ./build/bin/geth   -gcflags=all='-N -l' -v ./cmd/geth
    @echo end building debug version
    @echo "Run \"$(GOBIN)/geth\" to launch geth."

Мой файл launch.json:

    {
        "name": "Launch",
        "type": "go",
        "request": "launch",
        "mode": "exec",
        "trace": "verbose",
        "remotePath": "${workspaceRoot}",
        "port": 2345,
        "host": "127.0.0.1",
        "program": "${workspaceRoot}/build/bin/geth",
        "sources":  "${workspaceRoot}",
        "args": [

        ],
        "showLog": true
    },

Я могу запустить проект внутри кода Visual Studio, но всеТочки останова игнорируются.

Creating on: /Users/work/go/efsn/core/blockchain.go (/Users/work/go/efsn/core/blockchain.go) :256
Error on CreateBreakpoint: could not find /Users/work/go/efsn/core/blockchain.go:256

Это распечатка с моей консоли отладки:

Verbose logs are written to:
/var/folders/f0/8kqy01l55s3f5b642wc2w47w0000gp/T/vscode-go-debug.txt
10:18:57 AM, 11/14/2018
InitializeRequest
InitializeResponse
Using GOPATH: /Users/work/go
Current working directory: /Users/work/go/efsn/build/bin
Running: /Users/work/go/bin/dlv exec /Users/work/go/efsn/build/bin/geth --headless=true --listen=127.0.0.1:2345 --api-version=2 --log=true --
API server listening at: 127.0.0.1:2345
time="2018-11-14T10:18:57-05:00" level=info msg="launching process with         args: [/Users/work/go/efsn/build/bin/geth]" layer=debugger
InitializeEvent
SetBreakPointsRequest
All cleared
Creating on: /Users/work/go/efsn/core/blockchain.go (/Users/work/go/efsn/core/blockchain.go) :256
Error on CreateBreakpoint: could not find /Users/work/go/efsn/core/blockchain.go:256
All set:[null]
SetBreakPointsResponse
ConfigurationDoneRequest
ContinueRequest
ContinueResponse
time="2018-11-14T10:18:58-05:00" level=debug msg=continuing layer=debugger
INFO [11-14|10:18:59.171] Maximum peer count                           ETH=25 LES=0 total=25
INFO [11-14|10:18:59.184] Starting peer-to-peer node               instance=Geth/v1.8.16-unstable/darwin-amd64/go1.11.2

Я установил следующие пакеты, необходимые для расширения Rich Go:

go get -u github.com/derekparker/delve/cmd/dlv
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru

Любая помощь будетс благодарностьюСпасибо

...