[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