[Lazarus] Class operators

Martin lazarus at mfriebe.de
Thu Sep 8 13:06:51 CEST 2011


On 08/09/2011 11:39, Graeme Geldenhuys wrote:
> On 08/09/2011, Martin<wrote:
>> How long did it take before? Can you get me the "Debug output" from your
>> system, please [1]?
> In Lazarus (stable), the tooltip info appears instantly (when the
> tooltip is supposed to trigger - after a 500ms hover) - no delay.
> Using Lazarus 0.9.30.1 r30567M FPC 2.4.5 x86_64-linux-gtk 2.
See your report, I put in an option.

As i wrote, it takes a bit longer: not sure if it is gdb, or just the 
pipe used to get gdb's output into lazarus. (afaik on win, those pipes 
are slow, haven't speed tested them on linux)


> I'm not sure I understand what "debug output" you are looking for. I
> attached another screenshot showing the method signature, and what was
> displayed in the tooltip in Lazarus (stable).
Menu: "View" > "Debug winows" > "debug output" (I advice to open, it 
before running your app, or it may take several seconds or loner to open 
(TMemeo doesn't deal that good with big content)

I was interested to see, if any unexpected data was requested.
(Unfortunately it is not always easy to extract useful info from gdb. 
e.g  "ptype" does not differ between TObject and PObject  (you need an 
extra "ptype Foo^"))

Or maybe it is just the time the entire text for the big object needs to 
go over the pipe


BTW, if you get a hint for the global "Form1" variabl;e => how long does 
that take.
It should get the same info.

>> Stabs or Dwarf?  gdb 7.0 and up, has a bug in relations to stabs. which
> I'm using Ubuntu 10.04 64-bit running gdb 7.1-ubuntu.  FPC version
> 2.4.5 which I think defaults to Dwarf under 64-bit Linux.

GDB 7.1 should be fine / dwarf too (dwarf is now preferred anyway)

BTW: if you got time => try running ./debugger/test/GDBMI/TestGDBMI.lpi
I would be interested, how well it does on 64 bit linux. (if there are 
error, you can enable "write logs" and send them (fro the failed tests) 
-- though the xml output already contains basic info.

>> How fast (or slow) fills the watch window on you pc? (if you have
>> several watches)?
> The Watches window information displays instantly for the Sender
> variable, but it only contains a single line of information. MUCH less
> than the tooltip hint.

I meant if you ever have many values (e.g 10 watches) to evaluate.

then especially if they are classes, record, arrays (arrays aren't to 
well handled yet, just another gdb limit :(  )

On my windows, I get an average of 3 watches evaluated per second. 
Containing simple types, basic classes and such as tstringlist.
Using huge classes such as TForm(1) drops the speed a bit. (since the 
return a lot of text, for the amount of fields they have. (and ptype, 
includes all the procedures, can't help that)

Having said that, on my Lazarus I have a lot of debg-logging configured 
in the debugger, that certainly does NOT add to speed.






More information about the Lazarus mailing list