1. 程式人生 > >[EOS原始碼分析]4.EOS原始碼除錯

[EOS原始碼分析]4.EOS原始碼除錯

    在【】一文已經詳細描述了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