本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践
切换命令:git checkout dawn-v4.1.0
在【EOS源码编译运行】一文已经详细描述了EOS源码编译。但是阅读代码,光跑代码是不够的,必须要可以调试。一搜发现网上没有相关的文章,只好自己探索折腾。不过很快发现其实EOS已经为我们做好了的,只需带相关参数即可,只是官网没有介绍,自然网上也没有相关的文章。
编译带调试信息的EOS
编译可以调试(带源码信息)的EOS程序,增加-o Debug参数即可,即
$./eosio_build.sh -o Debug
下载源码等其他步骤请参考【EOS源码编译运行】一文
下载VSCode
和比特币,以太坊源码调试一样,vscode是最佳的调试EOS源码的调试工具
调试配置流程
导入源码
配置调试文件
执行后,会生成launch.json, 然后修改program字段值为对应的程序即可,比如要调试nodeos, 则修改为如下
添加断点并开始调试
在行号左边点击即可添加断点
点击调试界面的右三角开始调试程序
注意
如果你曾经执行过release版本的nodeos,需要将数据清空,否则会报错
database created by a different compiler, build, boost version, or operating system
执行如下命令清空老数据
$ rm -rf ~/Library/Application\ Support/eosio