[Lazarus] New feature in 1.3 - Click through to members in Debug inspector

Martin Frb lazarus at mfriebe.de
Thu Feb 6 19:25:31 CET 2014


http://wiki.lazarus.freepascal.org/IDE_Window:_Variable_Inspector

Lazarus 1.3 only:
Now allows to double click on rows, if you look at a class or record. It 
will then display this member (in full, not just the address / that is, 
if it is of any type that can be displayed)
Same for pointers. They will be derefed.

Useful for looking at TList.
TList has an FList:TFPList,
which as an FList: PPointerList.

You can click through, deref the pointer, and you get the address of the 
entry at index 0.
The watch expression will look like: (with more added typecast, if needed)
   PPOINTERLIST(MyList.FCHILDREN.FLIST.FLIST)[0]

All you need to do, is add a typecast.
For any object, you can use TObject, and tell the debugger to find the 
class. (there is a toggle button "Instance")
   TObject(PPOINTERLIST(MyList.FCHILDREN.FLIST.FLIST)[0])

Getting the 2nd or 3rd element from the list can be done by editing the 
index.


There is a back button, to return to the previous viewed expression. 
(mouse button 4 will also do / except, if the current expression has no 
displayable result, that is because pagecontrol then does not trigger 
the click event)




More information about the Lazarus mailing list