Skip to content

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

License

Notifications You must be signed in to change notification settings

bet4it/udbserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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:

  • C (also provides C-compatible API for developing new bindings)
  • Go
  • Java

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