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 reproduces bugs, sets BPs, drives the UI, inspects Delphi state, AND navigates source via DelphiLSP — go-to-definition, hover, find-references, completion — all through the same MCP plugin. Static analysis and runtime debug share one process, so future lsp_hover calls can fold in last-observed runtime values. 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.

v0.19.34 is the latest release. Here's what just landed and what's next.

v0.19.33

DelphiLSP integration

12 MCP tools backed by Embarcadero's DelphiLSP.exe: definition / declaration / implementation / hover / references / completion / signature_help / document_symbols / workspace_symbol / diagnostics, plus aggregator and project-lifecycle tools. .delphilsp.json autogen from any .dproj means zero IDE-config friction. Capability-gated per Delphi version (11.3 → 13.1).

v0.19.33

--lsp mode for VS Code / Neovim

Launch rdbg-mcp.exe --lsp and the bridge becomes a transparent Delphi LSP server — any LSP client gets the same project autogen, multi-version DelphiLSP discovery, and license-error translation Claude Code users get. RDBG_LSP_PROJECT seeds the active project; everything after initialize forwards verbatim.

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