[Lazarus] what can we do to get a better debugger

Martin Frb lazarus at mfriebe.de
Wed Nov 21 16:40:23 CET 2018


On 21/11/2018 14:55, Joost van der Sluis via lazarus wrote:
>> When I tested (last week), using "Pause" button, only the main thread 
>> stopped.
>
> There is no option to choose which thread you want to stop, no?
Not that I have seen.
I think (just a feeling/ no evidence) the debugger (in linux-classes) 
will need to loop through all the threads.
Also need to verify if we distinguish, between thread and fork

>> There was no way to pause the other threads.
>>
>> Each one of them would stop, if reaching a breakpoint. But then the 
>> main thread (and others) would continues running.
>
> True. Only one thread stops. (I thought this was neat!) You want all 
> threads to stop when one of them stops? Always?
Hitting the Pause button, usually yes.
Hitting a breakpoint, likely too, at least as default.

Once paused, single stepping should (if OS supports / Linux does; 
Windows does not) offer to keep other threads paused, or to run them 
until the step finishes.

> I'm wondering which layer we should let take care of this. It would be 
> nice if the user can decide which threads should stop or continue. In 
> that case we need to adapt the abstraction-layer and an update of the 
> GUI.

Afaik, even GDB can do the single stepping choice above. So yes, that 
needs eventually to go to the GUI




More information about the Lazarus mailing list