[fpc-devel] bounty: FPC based debugger

Martin lazarus at mfriebe.de
Mon Sep 12 12:23:44 CEST 2011


On 12/09/2011 11:10, Graeme Geldenhuys wrote:
> Here is what I would consider a "debugger":
>
>   - command line interface at least
>
>   - watches
since lazarus displays watches, using gdb, maybe this should be more 
specific?
- Yes, certain expressions are not supported, or not well supported.
-- strings: 0 vs 1 base => need to test with stabs 3 => need to adapt 
some part of Lazarus to deal with gdb output when using stabs3
-- properties: discussed before
-- dyn-arrays: lazarus deals with simple cases, but by far not with all
-- please add?

>
>   - breakpoints
>      - expression handling with break points would be very handy.
>        eg: break when i = 1234
Lazarus does support conditional expressions. And they do work, I have 
used them

>   - watchpoints. break when data at memory address changed. Very
>     handy to debug those procedural programs that loves to use global
>     variables.  MSEide supports this (but it is actually a GDB feature)
Yes indeed.

Btw, i have used them a few times in Lazarus. they are on the todo list

Though to use them in Lazarus, quite a few hacks are required.

The big issue, is that gdb often scopes them wrong, and you loose the 
watch point before you it triggers



>   - querying variables, properties, arrays, strings. Irrespective if
>     things like variables are local, global, or if parameters are from
>     a nested function, method, event handler. Querying properties of
>     a class instance (like can be done in Delphi for years) is very
>     important (irrespective of the "potential" dangers in that).
That is a repeat of "watches" ?
>
>   - Object Pascal expression evaluation (but I guess this goes
>     hand-in-hand with Watches and Breakpoints.
>
>
>
> Yes I know there are many other items than can be added (thread
> debugging, remote debugging etc), but I would consider the above
> features a "usable debugger" with FPC.
>
>




More information about the fpc-devel mailing list