[EOS原始碼分析]4.EOS原始碼除錯
阿新 • • 發佈:2019-01-26
在【】一文已經詳細描述了EOS原始碼編譯。但是閱讀程式碼,光跑程式碼是不夠的,必須要可以除錯。一搜發現網上沒有相關的文章,只好自己探索折騰。不過很快發現其實EOS已經為我們做好了的,只需帶相關引數即可,只是官網沒有介紹,自然網上也沒有相關的文章。
編譯帶除錯資訊的EOS
編譯可以除錯(帶原始碼資訊)的EOS程式,增加-o Debug引數即可,即
$./eosio_build.sh -o Debug
下載原始碼等其他步驟請參考【】一文
下載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