首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用delve调试geth?

如何用delve调试geth?
EN

Ethereum用户
提问于 2018-03-02 19:09:37
回答 2查看 692关注 0票数 2

当我按下面的方式运行钻研时,它会出现有关内部包的错误。如何克服它?

代码语言:javascript
复制
$ dlv debug cmd/geth/main.go
cmd/geth/main.go:35:2: use of internal package not allowed
exit status 1
EN

回答 2

Ethereum用户

发布于 2018-05-17 03:39:11

对于那些遇到同样问题的人。

Delve在build中需要额外的param -gcflags=all='-N -l',您可以手动构建它,而不是运行make geth

代码语言:javascript
复制
go build -o ./build/bin/geth   -gcflags=all='-N -l' -v ./cmd/geth 

然后你就可以跑了

代码语言:javascript
复制
dlv  --headless --listen=:2345 --api-version=2 exec ./build/bin/geth -- ${yourGethParams}
票数 0
EN

Ethereum用户

发布于 2021-05-25 19:56:25

自从go-ethereum迁移到go.mod之后,我就可以通过

代码语言:javascript
复制
cd go-ethereum
dlv debug --headless --listen=:2345 --log --api-version=2 github.com/ethereum/go-ethereum/cmd/geth -- $GETH_OPTS

我确实设置了以下CGO env。(但这可能是不必要的)

代码语言:javascript
复制
CGO_LDFLAGS=-L/usr/local/opt/openssl/lib
CGO_CPPFLAGS=-I/usr/local/opt/openssl/include

我碰巧使用无头&听,并附加,以适应一个码头组成的工作流程。执政官也应该做得很好

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/41489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档