[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