MI commands changing current thread

Vladimir Prus vladimir.prus@gmail.com
Fri Oct 30 08:05:00 GMT 2015


On 15-Oct-15 12:01 PM, Tedeschi, Walfred wrote:
> Hi Simon,
>
> Documentation says that you should rely on the selected thread, best method is always to pass the argument --thread.

I think you meant "should not rely", above.

>
> Here is the part of the documentation:
>
> ' In particular, if the frontend sends several commands to gdb, and one of the commands changes the selected thread, then the behaviour of subsequent commands will change. So, a frontend should either wait for response from such problematic commands, or explicitly add -thread-select for all subsequent commands.
> No frontend is known to do this exactly right, so it is suggested to just always pass the ‘--thread’ and ‘--frame’ options.'

That's correct, the current behavior is intended. If I remember correctly, if one starts to do async/non-stop,
then the notion of current thread breaks down completely. If one issues a command in one another, another command
in another thread and then we hit breakpoint in a third thread, it's no longer clear what thread should be current
in the end.

Since MI is for frontends, it's easier for all parties to just always pass --thread.

HTH,

-- 
Vladimir Prus
http://vladimirprus.com



More information about the Gdb mailing list