[Lazarus] debug hint timing [[Re: TButton resizing is broken in Trunk's form designer]]

Martin lazarus at mfriebe.de
Thu Sep 8 17:29:04 CEST 2011


On 08/09/2011 15:42, Martin wrote:
> On 08/09/2011 15:24, Graeme Geldenhuys wrote:
>> But a big show-stopper for me now is the new debugging hints slowness.
>> I tried to disable all the new "auto cast" features that Martin
>> recently added. To no avail, they seem to stay active no matter what,
>> and due to that, debugging hints over objects now take around 5-10
>> seconds to display. We still have no clue as to what is causing this
>> slowdown. Also, it displays such a lot of information in the hint
>> window now, the hint window is to big to fit my screen. And any
>> "usable" information is now obfuscated by the volumes of data output.
>
> What exactly do you mean "stay active" ?
>
> If I uncheck "automatic type-cast for objects", then I definetely get 
> the old hint (no type cast). I also watched the gdb commands => none 
> of the typecast related commands were sent.
>
> - Are the commands still send, if you disable the option?
> - Is just the slowness remaining ?
>
> If it is just the slowness, then the issue certainly lies elsewhere.

I just tested on an old fedora installation (VM same pc as my windows)

Indeed the long wait is there.
However, it is certainly not GDB, and not the pipe/communication either.

The wait-time occurs after gdb returned. And it also occurs, if the hint 
is triggered a 2nd time. In which case gdb isn't even involved, since a 
cache is used.

Switching the auto-cast off, and getting a small amount of data for the 
hint (just "<TObject> = {vptr xxx}" provides a fast hint to.

Getting the TForm1(Sender) as a watch is also very fast => so it is not 
likely that the issue is caused by any processing in gdbmidebugger.pas 
(or any of the debugger classes). If at all getting the value for a watch

So I got a big hint from codetols, by adding a large comment in front of 
the declaration of TForm, and then hinting for TForm
- If I add many lines => no problem
- If I add one very long line many 1000 char) then => ouch


bTW installing TurboPowerIProDsgn, and getting nicely formatted html 
hint => and the type-casted debug hint works all fine and fast
(but be aware, the wrong mouse movement  with that hint, and it crashes)

So the time must be lost, when a huge text is prepared for a hint (or 
more likely, since it doesn't happen on windows), the problem may be in 
the widgetsetcode for the hint on gtk2 (I haven't tested my gtk2 on win 
install)









More information about the Lazarus mailing list