Tool

decomp2dbg

Decompiler-to-debugger bridge that serves function names, global variables, stack and register variable names and decompiled code from IDA Pro, Binary Ninja, Ghidra or angr-management to GDB over an XML-RPC connection. Synced functions and globals become ordinary GDB symbols for breakpoints and memory examination, local variables appear as convenience variables, and each breakpoint stop prints the decompiled line for the current address. It works with vanilla GDB, GEF and pwndbg, and can map a shared library's symbols once its load range is supplied.

Requirements and limitations

  • Release at review: v4.0.3, published 2026-07-14 on GitHub and PyPI; the reviewed main commit is that version bump. Package metadata requires Python 3.10+, and the README says decomp2dbg must be installed in the same Python environment as the decompiler and the debugger. The bundled installer places the decompiler plugin and sources the GDB client from the user's .gdbinit, after GEF or pwndbg are loaded; a Windows decompiler outside WSL needs the README's manual steps.
  • The README lists IDA Pro 9.0+, Binary Ninja 2.4+, Ghidra 12+ (started in PyGhidra mode with the plugin enabled) and angr-management 9.0+, each installed separately; decompiler access goes through the declib library. Only GDB-based debuggers are supported: LLDB and WinDbg support, struct syncing, function-type syncing and online DWARF creation are listed as unfinished.
  • The decompiler side starts an XML-RPC server on localhost:3662 by default; debugging from another machine or VM needs the host and port at connect time and the port reachable. One decompiler can be connected at a time, and a shared library's symbols need its base and end addresses supplied manually.
  • tests.py holds integration tests that drive headless Ghidra, or IDA through idalib, with GDB; CI runs only the Ghidra suites against Ghidra 12.0. The testing/binaries directory keeps sample executables, including an Ubuntu objdump build, as test fixtures. BSD-2-Clause license. No debugging sessions were run.

About this entry

Type
Tool
Category
Debugging and dynamic analysis
Relationship
Foundation tool
Targets
Binary

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · mahaloz/decomp2dbg · Revision 416dce4
  2. README.md#L20-L46 GitHub · mahaloz/decomp2dbg · Revision 416dce4
  3. README.md#L147-L168 GitHub · mahaloz/decomp2dbg · Revision 416dce4
  4. pyproject.toml GitHub · mahaloz/decomp2dbg · Revision 416dce4
  5. LICENSE GitHub · mahaloz/decomp2dbg · Revision 416dce4
  6. tests.py GitHub · mahaloz/decomp2dbg · Revision 416dce4
  7. .github/workflows/ci-tests.yml GitHub · mahaloz/decomp2dbg · Revision 416dce4
  8. testing/binaries GitHub · mahaloz/decomp2dbg · Revision 416dce4
  9. https://github.com/mahaloz/decomp2dbg/releases/tag/v4.0.3
  10. https://pypi.org/project/decomp2dbg/4.0.3/