Whenever GDB has to report an information about a thread, it uses a tuple with the following fields. The fields are always present unless stated otherwise.
The global numeric id assigned to the thread by GDB.
The target-specific string identifying the thread.
Additional information about the thread provided by the target. It is supposed to be human-readable and not interpreted by the frontend. This field is optional.
The name of the thread. If the user specified a name using the
thread name command, then this name is given. Otherwise, if
GDB can extract the thread name from the target, then that
name is given. If GDB cannot find the thread name, then this
field is omitted.
The execution state of the thread, either ‘stopped’ or ‘running’, depending on whether the thread is presently running.
The stack frame currently executing in the thread. This field is only present if the thread is stopped. Its format is documented in GDB/MI Frame Information.
The value of this field is an integer number of the processor core the thread was last seen on. This field is optional.