ETH全节点还是很浪费资源的,尤其是在同步下来所有区块链,如果你打算在本地进行全节点的Debug吗,有点不现实。这个文档
编译,在要运行的机器上面安装devel,一般的方法是,编译好之后,放到服务器上面,安装delve Debug工具 : https://github.com/derekparker/delve
安装好之后,进入到 <code>project root/ cmd/geth</code> 目录下
运行 <code>go build -gcflag='-N -l'</code> 命令,golang 1.10 运行 <code>go build -gcflag='all -N -l</code> 命令,这一步完成之后,应当在目录下面发现一个名字叫 <code>geth</code>的可执行文件。
然后运行命令 <code>dlv --listen=:6070 --headless=true --api-version=2 exec geth --</code> (最后的 <code>--</code> 用来区分 <code>geth</code>的参数的,不加这个分隔符,它会认为后面的参数还是 dlv的参数)。。。。。这个命令是,开启一个调试服务器,监听在本机的6070端口
进入到Goland,这里我们用Goland进行代码跟踪调试,添加Go Remote选项,添加正确参数,开始Debug,如果console 出现
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iM2UmNwMzMhZzNwgzNwUDNlJDNwkzNihjM3EmZxAzYi9CXyAzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.png)
image.png
即为连接成功,enjoy you debugging !