Agent-driven remote debugger for Delphi

Debug Delphi like it's 2026.

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.

Agent-ready  wire-driven, pause-loop semantics
Delphi 11.3+  Win32 + Win64, Alexandria onward
Four drivers  AI · CLI · web · GUI
Why rdbg

A debugger that fits your workflow.

PAServer was built for the IDE. rdbg is built for everything else — CI, agents, headless boxes, and the command line.

Lead

Drive it from an AI

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 →

HW + SW breakpoints

Up to four DR-slot hardware breakpoints alongside classic 0xCC patching. Both speak the same wire.

Project-aware GUI

Open a .dproj, hit Go. The GUI handles the daemon, breakpoints, source tabs, and stepping.

Recursive RTTI inspection

Walk a TObject across process boundaries — class chain, published & public properties with typed values.

SSH + local + attach

Spawn the daemon locally, tunnel it over SSH, or attach to one already running. The GUI manages the lifecycle.

Annotated stack traces

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.

See all features →
Built for agents & humans

One debugger, many drivers.

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}}
Where we are

Shipping fast, openly.

0.1 is the first public release. Here's what just landed and what's next.

Just shipped

Win32 + Win64 targets

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.

Just shipped

AI agent integration

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.

Next

Data watchpoints

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.

View full roadmap →

Stop bouncing through PAServer.

rdbg is open-source, scriptable, and ready for your remote Delphi workflow today.

Download Quickstart