[Lazarus] Some debug facts/improves

JoshyFun joshyfun at gmail.com
Sat Oct 3 13:25:52 CEST 2009


Hello Lazarus-List,

Saturday, October 3, 2009, 3:36:46 AM, you wrote:

PI> Debugger has one set of classes for IDE and another set of classes for
PI> the debugging itself.
PI> Classes which has IDE in name are used by IDE to save/load their values
PI> to/from streams, etc.
PI> TDBGWatch is used as a base class for the debugger - it has TIDEWatch as
PI> slave. TGDBMIWatch is a paticular implementation for TDBGWatch which
PI> works with gdb debugger.

Ok, I see that part of the path, but there is still a missing point
from my side. In one Watch window procedure the code looks like (not
exactly):

procedure Update(Watch: TIDEWatch);
begin
  Value:=Watch.Value;
end;

but manually following the execution flow, Watch.Value gets me to
TIDEWatch.GetValue which looks like a default stub. So maybe the
parameter should be different, maybe a TBaseWatch ?

I was unable to find how to debug the debugger, but that's not a
problem by now.

>> "procedure THintWindow.Paint" ?
PI> Yes, as I remember I did so but don't remember the reason. Many times
PI> after I though to remove DT_CENTER too. When I have time to work I will
PI> look for reasons and remove it.

I had removed it to test and no side effect apparently except that
there are 2 kinds of tooltips which look similar, the codetools hints
and the debugger hints :-? Once removed the DT_CENTER in "procedure
THintWindow.Paint" the codetools hints are still centered :-?

PI> Yes, just tried and it is indeed so. Probably some bug of FPC or GDB or
PI> both. Can you report this to the fpc bug tracker?

I'll investigate a bit before.

PI> Can't help with other items.

Thank you as usual :)

-- 
Best regards,
 JoshyFun





More information about the Lazarus mailing list