Next: Events In Python, Previous: Writing an Xmethod, Up: Python API
Programs which are being run under gdb are called inferiors
(see Inferiors Connections and Programs). Python scripts can access
information about and manipulate inferiors controlled by gdb
via objects of the gdb.Inferior class.
The following inferior-related functions are available in the gdb
module:
A gdb.Inferior object has the following attributes:
The
gdb.TargetConnectionfor this inferior (see Connections In Python), orNoneif this inferior has no connection.
ID of inferior's connection as assigned by gdb, or None if the inferior is not connected to a target. See Inferiors Connections and Programs. This is equivalent to
gdb.Inferior.connection.numin the case wheregdb.Inferior.connectionis notNone.
Process ID of the inferior, as assigned by the underlying operating system.
Boolean signaling whether the inferior was created using `attach', or started by gdb itself.
A gdb.Inferior object has the following methods:
Returns
Trueif thegdb.Inferiorobject is valid,Falseif not. Agdb.Inferiorobject will become invalid if the inferior no longer exists within gdb. All othergdb.Inferiormethods will throw an exception if it is invalid at the time the method is called.
This method returns a tuple holding all the threads which are valid when it is called. If there are no valid threads, the method will return an empty tuple.
Return the
gdb.Architecture(see Architectures In Python) for this inferior. This represents the architecture of the inferior as a whole. Some platforms can have multiple architectures in a single address space, so this may not match the architecture of a particular frame (see Frames In Python).
Read length addressable memory units from the inferior, starting at address. Returns a buffer object, which behaves much like an array or a string. It can be modified and given to the
Inferior.write_memoryfunction. In Python 3, the return value is amemoryviewobject.
Write the contents of buffer to the inferior, starting at address. The buffer parameter must be a Python object which supports the buffer protocol, i.e., a string, an array or the object returned from
Inferior.read_memory. If given, length determines the number of addressable memory units from buffer to be written.
Search a region of the inferior memory starting at address with the given length using the search pattern supplied in pattern. The pattern parameter must be a Python object which supports the buffer protocol, i.e., a string, an array or the object returned from
gdb.read_memory. Returns a PythonLongcontaining the address where the pattern was found, orNoneif the pattern could not be found.
Return the thread object corresponding to handle, a thread library specific data structure such as
pthread_tfor pthreads library implementations.The function
Inferior.thread_from_thread_handleprovides the same functionality, but use ofInferior.thread_from_thread_handleis deprecated.