Ok, let's talk about how to implement a gdb interface for a pascal IDE (like dev-pas) :mrgreen:

First, the things we need:

- Running and stopping the program
- Breakpoints and eventually watchpoint and catchpoint
- Variable watch
- Step into & step over
- Modify variable at runtime
- Stack trace
- MultiThread support (maybe ?)

Now, interfacing gdb can be done in two way: using the libgdb API or running it and capturing/parsing the output.
I'm for the second option, since there's really few libgdb docs around.
There are also command line option that can help the parsing (ie -f). It is not that hard anyway, output is always clearly formatted.

Basically, we should define a class that implements methods for every possible action (not that many), and methods for quering current status.