FP IDE needs to link to libgdb and all of its dependencies in order to have debugger support. OTOH, Lazarus interacts to gdb via TProcess. FP IDE approach would be faster but also inextensible and less maintainable. When there's a problem with the libgdb (i.e. the library is buggy), the whole IDE needs to be recompiled using the bug-free library. In Lazarus case, changing the program path to the bug-free one is enough. What if FP IDE uses the same approach as Lazarus? Any cons you can think of other than speed?
Mailing lists / fpc-pascal / 2008-09
Debugger interaction in FP IDE and Lazarus
5 messages · 4 people · –
- Lleledumbo 2
- MMarc Weustink 1
- MMartin Schreiber 1
- PPeter Vreman 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
leledumbo wrote 8 lines
The gdb mi-interface is not finished. Many commands fail with "Missing implementation" and must be replaced by regular command line calls with the problematic parsing of the result which format tends to change from version to version. It is difficult to separate the output stream of gdb and the debuggee, sometimes it is even impossible. Implementing a pipe based gdb interface is a nightmare...
Martin
Show quoted text 8 lines
The idea to implement this and reuse some Lazarus code has been around for a couple of years. But it is not an easy task after a couple of quick investigations. That is also the reason why it has not been started yet. You are welcome to implement such an interface and remove the libgdb dependency.
Peter
Peter Vreman wrote 9 lines
Before I start something stupid, can you describe the result of that quick investigation?
leledumbo wrote 12 lines
Initially the lazarus interface to GDB was visual component free (no LCL controls). In time some some got added. IIRC, mostly dialogs. If those get "changed" to a notify event that part is cleaned.
IIRC there was another issue. That is that the FP ide is object based and the lazarus interface class based. (I never looked at the fpide code, so I'm not sure here)
Marc
