Skip to content

Vector35/debugger

Repository files navigation

Binary Ninja Debugger

This is the repository for Binary Ninja Debugger. The debugger is written in C++ and is shipped with BN as a plugin.

Platform and Target Support

This is the current comparability matrix of the debugger. The horizontal lines stand for where we run BN and the vertical lines stand for the targets.

Target 🔽 Host ▶️ macOS Linux Windows Note
macOS Yes (Local/Remote) Yes (Remote) Yes (Remote)
Linux Yes (Remote) Yes (Local/Remote) Yes (Remote)
Windows Planned Planned Yes (Local/Remote)
GDB Server Yes Yes Yes (1)
LLDB Server Yes Yes Yes
Windows Kernel TBD TBD Planned
DebugAdapter Protocol Planned Planned Planned

Explanation:

  • Yes means the feature is supported.
  • Planned means that we plan to implement it.
  • TBD means that we have not decided whether to support it, or how to support it.
  • No means it is not possible to do, at least for now.

Notes:

(1). Right now, we only support gdbserver with android remote debugging. Support for other gdbserver or gdb stub, e.g., qiling, VMWare, QEMU, will be added later.

The progress is tracked in this issue.

Documentation

Building

The debugger is already shipped with Binary Ninja in stable and development branch. If you wish to contribute code, see build instructions.

License

The Binary Ninja Debugger is open-source with Apache License 2.0

For other open-source or redistributable components and their respective licenses, please refer to this list.