The first Delphi debugger built for autonomous agents. Drive it from an AI, the CLI, a webserver / webapp, or a GUI — same wire protocol every layer. Replaces PAServer with hardware breakpoints, recursive RTTI inspection, and cross-process UI control so an agent can reproduce a bug end-to-end without a human at the keyboard.
PAServer was built for the IDE. rdbg is built for everything else — CI, agents, headless boxes, and the command line.
An autonomous AI coding agent can reproduce a bug, set BPs, drive the UI, and inspect Delphi state — through the same wire the CLI, a webapp, or the GUI use. Agent guide →
Up to four DR-slot hardware breakpoints alongside classic 0xCC patching. Both speak the same wire.
Open a .dproj, hit Go. The GUI handles the daemon, breakpoints, source tabs, and stepping.
Walk a TObject across process boundaries — class chain, published & public properties with typed values.
Spawn the daemon locally, tunnel it over SSH, or attach to one already running. The GUI manages the lifecycle.
MAP-driven walker resolves unit.pas:line symbol+offset for both Delphi raises and raw OS exceptions. DLL frames resolve via Microsoft public PDBs auto-fetched from msdl.microsoft.com.
rdbg's wire protocol means an AI agent can drive it the same way a human in the GUI can. Set breakpoints, walk the stack, decode an object — from a script, a webapp, a CI job, or an autonomous coding loop.
The daemon stays alive across reconnects, so headless boxes can host long-running debug sessions for whatever tool you point at them next.
Try it in 5 minutes# Drive rdbg from anything that speaks TCP + JSON
$ rdbgd64 --listen 127.0.0.1:5902 # Win64 targets
$ rdbgd32 --listen 127.0.0.1:5903 # Win32 targets
$ rdbgc debug 127.0.0.1:5902 myapp.exe MyApp.dpr:128
# Or use the GUI: open .dproj, hit Go
$ rdbgui myproject.dproj
# Or the wire directly:
{"method":"set_breakpoint",
"params":{"file":"MyApp.pas","line":42}}
{"method":"inspect_object",
"params":{"address":"0x023f9a0c1080",
"max_depth":3}}
0.1 is the first public release. Here's what just landed and what's next.
Same source graph compiled twice produces rdbgd64.exe for Win64 targets and rdbgd32.exe for Win32. The wire protocol is identical; hello reports target_arch so clients pick the right daemon.
rdbg-mcp bridges rdbg to AI agents over MCP. The shipped rdbg-debugger plugin (for Claude Code) bundles skills, slash commands, and an autonomous bug-hunter subagent — ask your agent to reproduce a bug and it drives the daemon end-to-end. The bridge auto-detects target bitness on launch and picks the matching daemon; one plugin config covers Win32 + Win64.
Extend HW BPs into r/w watches via the DR slots — set_breakpoint kind:"hw" watch:"rw" length:4 — so you can break on writes to a struct field, not just executions of a line.
rdbg is open-source, scriptable, and ready for your remote Delphi workflow today.