[Lazarus] Several issues - Call Stack

Martin lazarus at mfriebe.de
Mon Jun 6 19:51:57 CEST 2011


On 06/06/2011 18:07, Hans-Peter Diettrich wrote:
> Martin schrieb:
>
>>>> IMHO, it would be best to have it fixed....
>>>
>>> Perhaps in TSnapshotManager.Create, where FActive:=True seems to 
>>> cause the wrong behaviour? The History Power button toggles just 
>>> this property.
>>
>>
>> The callstack issue is actually caused by the thread window..
>
> Above change works for me. I don't know about other windows, which 
> also may block the Call Stack when opened. For now it's sufficient 
> that *never opened* windows don't block debugging.

Well, they weren't supposed to.

It isn't about the windows, it's about the data behind.
Since the debugger now knows about threads, the callstack must ensure to 
get the stack for the current thread (quite obvious).
Previously, that was hidden in gdb, the thread was never changed, so the 
callstack returned was automatically correct. Now the callstack passes 
in an extra argument. And that got messed up.

Anyway it's fixed now...

--------
And yes, I have plans to add a persistent config to switch the history 
off by default.
I do thing that in most cases it is good to have it running, it does not 
hurt, and it runs on idle time, so it shouldn't cause delays or anything 
like that.
Having it running by default means that the data is available should it 
be required. It also means that bugs in it are found quicker (It made 
you are none voluntary bug-tester ;)  ).
Switching it off could be useful for people using a laptop on battery 
power, who do not want any action on idle, and rather save battery. My 
guess is that serious debugging sessions on laptops are rather rare...





More information about the Lazarus mailing list