[EOS源码分析]4.EOS源码调试

时间:2024-03-26 08:20:08

本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践

切换命令:git checkout dawn-v4.1.0 

    在【EOS源码编译运行】一文已经详细描述了EOS源码编译。但是阅读代码,光跑代码是不够的,必须要可以调试。一搜发现网上没有相关的文章,只好自己探索折腾。不过很快发现其实EOS已经为我们做好了的,只需带相关参数即可,只是官网没有介绍,自然网上也没有相关的文章。

编译带调试信息的EOS

    编译可以调试(带源码信息)的EOS程序,增加-o Debug参数即可,即
$./eosio_build.sh -o Debug
[EOS源码分析]4.EOS源码调试
    下载源码等其他步骤请参考【EOS源码编译运行】一文
    

下载VSCode

和比特币,以太坊源码调试一样,vscode是最佳的调试EOS源码的调试工具


调试配置流程

导入源码

[EOS源码分析]4.EOS源码调试

配置调试文件


[EOS源码分析]4.EOS源码调试

执行后,会生成launch.json, 然后修改program字段值为对应的程序即可,比如要调试nodeos, 则修改为如下
[EOS源码分析]4.EOS源码调试

添加断点并开始调试

在行号左边点击即可添加断点
[EOS源码分析]4.EOS源码调试

点击调试界面的右三角开始调试程序

[EOS源码分析]4.EOS源码调试


[EOS源码分析]4.EOS源码调试

注意

如果你曾经执行过release版本的nodeos,需要将数据清空,否则会报错
database created by a different compiler, build, boost version, or operating system
执行如下命令清空老数据
$ rm -rf ~/Library/Application\ Support/eosio

[EOS源码分析]4.EOS源码调试