我这样搭建开发环境的目的是为了便于学习EOSIO的代码并在基础上进行一些修改,如果是为了学习智能合约开发的话现在(2018.12.23)有了更方便一些的办法,官方已经提供了eosio和cdt的binary release(version 1.5.0),只要装到电脑中就好哦,用一款自己喜欢的编辑器就可以了。
说正题
1.git clone eosio的代码(tag=v1.5.0)
2.用vscode打开eosio项目文件夹
3.为了调试方便稍微改了一点代码
第一处修改编译指示标记,为了让代码可以GDB调试跟踪
代码中eosio团队中的大神给了我们一些指引但是我照做之后并没有给我想要的效果,不知问题出在哪里,还是采用上面的办法
第二处修改为了让nodeos出块时候的频率低一些(10s一块),毕竟0.5s一条log有些会让人眼花缭乱
注释掉54行(下图示),防止钱包自动上锁,要不很烦的
4.重新编译一下eosio项目
5.配置下vscode
上面的步骤在eosio v1.3.2(大约是)上实施的时候没有什么问题在vscode上可以断点调试(只是有些变量值显示不全看上去是被优化掉了),
但是在我eosio v1.5.0的最新实践时候出现了下面的问题,不知道什么原因引起,问题还没有解决
所以我只好改直接用GDB了
projectRoot/CMakeLists.txt
重新编译下,与前面提到的方法应该是没有什么区别
这个方法应该是最好的,明天验证一下
好了继续探索吧