📈 GH Trending Explorer 🎲 Surprise me

← all repos

EpicGames / raddebugger

git clone https://github.com/EpicGames/raddebugger.git v0.9.29-alpha · 20d ago 🔥 on GitHub Trending today

A native, user-mode, multi-process, graphical debugger.

—
stars, 24h
—
stars, 7 days
+1.1k
stars, 30 days · #278
8.6k
★ total
426
forks · 336 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
LicenseMIT
Created2024-01-10 (2y ago)
Last pushtoday
Watchers62
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #3 monthly in c · +1,120 ★

Links

README excerpt
# The RAD Debugger Project
_**NOTE:** This README does not document usage instructions and tips for the
debugger itself, and is intended as a technical overview of the project. The
debugger's README, which includes usage instructions and tips, can be found
packaged along with debugger releases, or within the `build` folder after a
local copy has been built. You can find pre-built release binaries
here._
The RAD Debugger is a native, user-mode, multi-process, graphical debugger. It
currently only supports local-machine x64 debugging on both Windows and Linux
(although Linux support is still very early). We plan to expand support to
other architectures, and to implement remote and multi-machine debugging.
The debugger is currently in *ALPHA*. In order to get the debugger
bullet-proof, it'd greatly help out if you submitted the issues you find
here, along with any
information you can gather, like dump files (along with the build you used),
instructions to reproduce, test executables, and so on.
In addition to the debugger, we aim to further improve the toolchain with two
additional related technologies: **(1)** the RAD Debug Info (RDI) format, and
**(2)** the RAD Linker.
## The RAD Debug Info (RDI) Format
The RAD Debug Info (RDI) format is our custom debug information format, which
the debugger parses and uses, rather than the debug information natively
produced by toolchains, like PDB or DWARF. To work with these existing
toolchains, we convert PDB and DWARF to the RDI format on-demand.
The RDI format is currently specified in code, in the files within the
`src/lib_rdi` folder. In `rdi.h` and
`rdi.c`, the types and functions which define the format
itself are specified. In `rdi_parse.h` and
`rdi_parse.c`, helpers for parsing the format are
included.
We also have an in-progress library for constructing and serializing RDI data,
located within the `src/lib_rdi_make` folder.
Our `radbin` utility (accessible through the debugger too, via the `--bin`
command line argument) is capable of converting native debug information formats
to RDI, and of producing textual dumps of contents stored within RDI files.
## The RAD Linker
The RAD Linker is a new performance linker for generating x64 PE/COFF binaries.
It is designed to be very fast when creating gigantic executables. It generates
standard PDB files for debugging, but it can also (optionally) natively create
RAD Debug Info too, which is useful both to eliminate on-demand conversion time
when debugging, but also for huge executables that otherwise create broken
PDBs that overflow internal 32-bit tables.
The RAD Linker is primarily optimized to handle huge linking projects. In our
test cases (where debug info is multiple gigabytes), we see 50% faster link
times.
The command line syntax is fully compatible with MSVC; you can get a full list
of implemented switches from `/help`.
Our current designed-for use case for the linker is to help with the
compile-debug c