Next: Recordings In Python, Previous: Events In Python, Up: Python API [Contents][Index]
Python scripts can access information about, and manipulate inferior threads
controlled by GDB, via objects of the gdb.InferiorThread
class.
The following thread-related functions are available in the gdb
module:
This function returns the thread object for the selected thread. If there
is no selected thread, this will return None
.
To get the list of threads for an inferior, use the Inferior.threads()
method. See Inferiors In Python.
A gdb.InferiorThread
object has the following attributes:
The name of the thread. If the user specified a name using
thread name
, then this returns that name. Otherwise, if an
OS-supplied name is available, then it is returned. Otherwise, this
returns None
.
This attribute can be assigned to. The new value must be a string
object, which sets the new name, or None
, which removes any
user-specified thread name.
The per-inferior number of the thread, as assigned by GDB.
The global ID of the thread, as assigned by GDB. You can use this to make Python breakpoints thread-specific, for example (see The Breakpoint.thread attribute).
ID of the thread, as assigned by the operating system. This attribute is a tuple containing three integers. The first is the Process ID (PID); the second is the Lightweight Process ID (LWPID), and the third is the Thread ID (TID). Either the LWPID or TID may be 0, which indicates that the operating system does not use that identifier.
The inferior this thread belongs to. This attribute is represented as
a gdb.Inferior
object. This attribute is not writable.
A gdb.InferiorThread
object has the following methods:
Returns True
if the gdb.InferiorThread
object is valid,
False
if not. A gdb.InferiorThread
object will become
invalid if the thread exits, or the inferior that the thread belongs
is deleted. All other gdb.InferiorThread
methods will throw an
exception if it is invalid at the time the method is called.
This changes GDB’s currently selected thread to the one represented by this object.
Return a Boolean indicating whether the thread is stopped.
Return a Boolean indicating whether the thread is running.
Return a Boolean indicating whether the thread is exited.
Return the thread object’s handle, represented as a Python bytes
object. A gdb.Value
representation of the handle may be
constructed via gdb.Value(bufobj, type)
where bufobj is
the Python bytes
representation of the handle and type is
a gdb.Type
for the handle type.
Next: Recordings In Python, Previous: Events In Python, Up: Python API [Contents][Index]