以太坊源码调试环境搭建

in #eth6 years ago

1、go get后,所有依赖包都有了,但在goland里面跑的时候报错:# github.com/ethereum/go-ethereum/crypto/secp256k1;exec: "gcc": executable file not found in %PATH%;解决:因为缺失gcc所以下载https://sourceforge.net/projects/mingw-w64/ 然后安装,如果成功就ok了。如果安装也失败就下载这个的离线安装包:地址:https://nuwen.net/mingw.html 由于已经安装了git所有本次选择mingw-15.4-without-git.exe;安装好后在环境变量的path下加:(刚刚的安装路径)MinGW\bin,然后cmd输入gcc -v 成功这就会识别这个命令。
2、下载dlv有了这个工具才能配置go调试 go get github.com/derekparker/delve/cmd/dlv
3、下载visual studio code (有win、mac和Linux)地址:https://code.visualstudio.com/Download
4、安装好后进去打开下载的以太坊代码,代码放在gopath的src下的GitHub下,如我的在E:\mygo\src\github.com\ethereum\并且我把go-ethereum-master改名为了go-ethereum截图如下:

然后会提示你安装Go和Chinese这些插件,直接安装就行,安装好后截图如下:

然后配置debug,在下图二添加配置

然后它就会生成launch.json 截图如下:

5、调试源码
代码目录中:进入cmd/geth/main.go添加断点,必须进入这个文件,然后按F5即可进入调试:
以下是我的参考链接:https://cloud.tencent.com/developer/news/197587和https://blog.csdn.net/ITleaks/article/details/80060986