Bitcoind
調試比特幣
如何將 gdb 附加到 bitcoind 守護程序。我希望逐步了解這些功能。這是我嘗試過的。
gdb --args bitcoind -regtest -daemon
然而,這在守護程序啟動時存在。所以我嘗試在分叉後通過 pid 附加。
gdb -p 841 (gdb) file /usr/local/bin/bitcoind Reading symbols from /usr/local/bin/bitcoind...done. (gdb) b sendtoaddress Breakpoint 1 at 0x4b4d34: file wallet/rpcwallet.cpp, line 379. r starting program...
但是,當我使用 bitcoin-cli 客戶端呼叫事務時,這不起作用。有什麼我想念的嗎。我在配置時使用了 –enable 調試。
謝謝。
正如 Nate Eldrige 所說:
嘗試 gdb /path/to/bitcoind 然後附加 841。但是,您使用的是什麼作業系統?有些不允許普通使用者將調試器附加到正在執行的程序;你必須是根。附加到正在執行的程序時不要使用 r;重新開始
使用attach(或-p)可以簡單地停止程序,讓你檢查它的狀態(例如where,print,…),設置斷點,如果你願意,可以修改它的記憶體。當您希望程序執行任何進一步的執行時,您必鬚髮出適當的命令 (n,s,c)。
如果您使用的是 MacOS,那麼 Fabian Jahr 可能會對本文件有所幫助。如果您在 MacOS 上,他建議使用 lldb 而不是 gdb。