[fpc-devel] A little something I've been working on...

mailinglists at geldenhuys.co.uk mailinglists at geldenhuys.co.uk
Fri Feb 20 13:02:09 CET 2026


On 2026-02-20 01:31, Graeme Geldenhuys via fpc-devel wrote:
> 
> More soon. ;-)

What is it? A fully working, native FPC debug format and debugger. I 
designed a new debug format from scratch (ditching the very C-centric 
DWARF format and its many versions) and added support into FPC `main` 
(3.3.1) via a feature branch. That's all on the compiler side.

On the client side, I implemented a debug engine from scratch along with 
a reference CLI debugger client (seen in my previous message). For the 
engine, I used a Hexagonal design (aka Ports & Adapters). This means the 
debug engine does all the heavy lifting and exposes methods that the 
thin "debug client" (in my case, the CLI debugger) can simply call to 
display output and orchestrate user interaction.

Integrating this into Lazarus IDE or MSEide simply means implementing 
the equivalent `pdr-cli` [thin] layer. Nothing needs to be changed in 
the debug engine itself.

I'll reveal more soon with a Pull Request. I'll include links to my 
analysis, the OPDF specification, and Implementation Architecture 
documents. A huge amount of research has gone into this -- studying 
Kylix, Delphi, and DWARF. Finally, I've scratched that 14-year itch I 
had, triggered by the duby release. :)


Regards,
   Graeme




More information about the fpc-devel mailing list