Skip to content

williballenthin/udbserver

 
 

Repository files navigation

udbserver - Unicorn Emulator Debug Server

udbserver is a debugging plugin for Unicorn Engine that implements the GDB Remote Serial Protocol.

It enables GDB-compatible debugging capabilities for Unicorn-based emulation projects, allowing you to inspect and control the emulation state through a GDB client.

Features

  • Registers
  • Memory
  • Single Step
  • Breakpoint
  • Watchpoint
  • Ctrl-C interrupt

Architectures Support

  • i386
  • x86_64
  • ARM
  • AArch64
  • M68K
  • MIPS
  • PowerPC
  • RISC-V

Installation & Usage

Python

The easiest way to get started is via pip:

pip install udbserver

Check out the Python binding for examples and documentation.

Rust

As a native Rust project, you can use udbserver directly as a crate. Check out the example:

cargo run --example server

Other Languages

udbserver provides bindings for several languages:

Please check the corresponding directories for language-specific installation and usage instructions.

About

Unicorn Emulator Debug Server - Written in Rust, with bindings for C, Go, Java and Python

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 86.3%
  • Python 3.7%
  • Makefile 2.9%
  • Go 2.3%
  • Java 2.2%
  • C 1.7%
  • Other 0.9%