[fpc-pascal] Debug a getter (was Lazarus vs MSEgui)
mailinglists at geldenhuys.co.uk
Sun Apr 10 01:31:53 CEST 2016
On 2016-04-09 21:34, Michael Thompson wrote:
> I was hoping someone would answer this. I currently insert the equivalent
> sHack := MyStrings.Text;
Yes, that is a shortcoming of using the GDB debugger. Currently querying
a result of property Getter function is not possible with GDB. You have
to store the property result in a variable. Then later delete all such
references after debugging (or use your SCM to revert such code changes).
Using GDB has many other shortcomings with the Object Pascal language
too. So I often use alternative forms of debugging.
1) I use tiOPF's tiLog unit and can output debug info to Console or
File, or what I use most frequent, to a non-Modal GUI window. All
logging is cached and happens in a separate thread so doesn't slow
down the application.
2) fpGUI contains a modified dbgintf.pp unit, compared to the one
included with FPC. I've also written my own GUI Debug Server, also
included with fpGUI. So I can log color values and actually see the
color in the debug server. I can use "live view" which can show me
for example very frequently updated valuese (eg: mouse pointer
position) but doesn't cause the debug server content to scroll off
3) I believe there is a Lazarus based debug viewer similar to (2)
above. I think I saw some info on that on the wiki once. I can't
remember the name though.
Mostly I use tiOPF's logging though (it doesn't require your code to be
tiOPF based). I have many code templates set up in my IDE, so adding
debug lines (wrapped in debug IFDEFs) are only 3-4 key presses away.
- Graeme -
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
My public PGP key: http://tinyurl.com/graeme-pgp
More information about the fpc-pascal