gdbremote $? packet - DNB process current thread

Hey guys,

In debugserver’s handling of $?, when the process is in the stopped state it grabs the concept of the current thread from the Mach process. What are the semantics of that “current mach thread”? Is it initialized to the first/main thread on start?

I’m looking for the correct analog for lldb-gdbserver.


BTW - current state of linux x86_64 lldb-gdbserver work is here:

I’ve got gdb remote protocol tests starting to drive proper functionality of lldb-gdbserver (@lldb_test and @debugserver_test tests). Plenty still needs to be implemented but its getting there. Hope to have this upstreamed soon when a few more of the rough edges are smoothed out.

@lldb_test and @debugserver_test tests

minor correction: that’s @llgs_test and @debugserver_test


I am guessing it should be the thread that is selected by the 'Hg<tid>' packet. You can probably pick the first thread if no one has called 'Hg<tid>' yet.

Ok great, thanks!