1. 程式人生 > >[筆記] 用 vscode 針對 ethereum-go 除錯

[筆記] 用 vscode 針對 ethereum-go 除錯

接下來就可以新增 launch.json 這個在 vscode 裡面用來設定 task 的檔案,除了可以用它來設定要怎麼執行指令外,除錯也是利用 launch.json 設定。進到 vscode 第四個 tab 除錯頁籤後,點選「沒有組態」的下拉選單會出現「新增組態」的選項,接下來基本的 launch.json 就會產生了。

預設裝好就是中文版就沒調整了。

剛開始的 launch.json 幾乎不用修改就可以使用,長得像下面這個樣子。

這邊唯一要修改的是 args 引數,因為我們要除錯 geth account new 指令,所以要在這邊加入 ["account", "new"]

設定好之後,我們可以先設定 cmd/geth/accountcmd.go

裡面的 accountCreate() function 為除錯點,接著在開啟著 accountcmd.go 的狀態按下綠色的執行鍵。

此時 vscode debugger 會偵測到有 accountcmd 是由 geth 所引入並且執行(說實在我不太確定他怎麼知道是 geth 指令而不是其他指令),程式執行到這行的時候就會中斷並且列出目前的所有變數、執行堆疊以及可以逐一觀看執行順序。