Graeme Geldenhuys schrieb:
Here is what I would consider a "debugger":
- command line interface at least
Me: GUI interface at least.
Where "GUI" is not a special property of the interface, only a set of
(callback) procedures that allow to implement desired language-specific
display features, regardless of GUI or Console display and use.
- watches
+1
- breakpoints
- expression handling with break points would be very handy.
eg: break when i = 1234
Nice to have, but I could live without this.
- 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)
Again I could live without it, depending on the time required to
determine such changes. I've seen applications crawl when such a feature
was used :-(
- 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).
+1 (as far as calling getters can be avoided, somehow).
- Object Pascal expression evaluation (but I guess this goes
hand-in-hand with Watches and Breakpoints.
Nice to have.
Another wish: separation of debug info and debug code.
Currently I can't step into packages or FCL/RTL, without compiling these
first for debugging. But doing so puts in all the debug code
(output...), residing in the units. What I want is a dedicated option,
that provides everything required to debug the entire application,
without enabling special {$IFDEF DEBUG} code. Or did I simply miss
something already existing?
DoDi
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel