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的示例: