udbserver
Version 0.1.0
當您使用獨角獸引擎進行仿真時,您是否想在每一步中檢查內部狀態?
udbserver是獨角獸的插件,提供了實現GDB遠程串行協議的調試服務器。您可以通過GDB客戶端連接它,並進行調試,作為您在真實程序上的工作。
udbserver可以通過Rust程序用作板條箱,但它還為其他語言提供了C庫和綁定。您可以在大多數基於獨角獸的項目中使用它!
udbserver只提供一個API:
void udbserver ( void * handle , uint16_t port , uint64_t start_addr ); handle應該是獨角獸實例的原始句柄, port是要偵聽的端口, start_addr是Unicorn在Debug Server上運行時的地址,將啟動並等待連接。如果為start_addr提供了0 ,則調試服務器將立即啟動。
您可以在獨角獸鉤中調用此API,因此您可以輕鬆地將udbserver集成在其他基於獨角獸的項目中。
您可以將udbserver用作Rust的板條箱。
您可以檢查如何使用它的示例。
您可以通過:
$ cargo run --example server然後,您可以將其與gdb-multiarch連接。
udbserver提供了一組C兼容的庫,標頭和PKG-Config文件,可幫助您與其他語言一起使用。
要構建和安裝它,您需要使用Cargo-C:
$ cargo install cargo-c
$ mkdir build
$ cargo cinstall --release --prefix=/usr --destdir build
$ sudo cp -dr build/ * /安裝udbserver庫後,您可以使用其他語言使用udbserver 。
您可以檢查如何使用不同語言使用udbserver的示例: