Debugging with GDB: Inferiors In Python |
---|
Next: Events In Python, Previous: Writing an Xmethod, Up: Python API [Contents][Index]
Programs which are being run under GDB are called inferiors
(see Inferiors 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:
Boolean signaling whether the inferior was created using ‘attach’, or started by GDB itself.
A gdb.Inferior
object has the following methods:
Returns True
if the gdb.Inferior
object is valid,
False
if not. A gdb.Inferior
object will become invalid
if the inferior no longer exists within GDB. All other
gdb.Inferior
methods 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.
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_memory
function. In Python 3, the return
value is a memoryview
object.
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 Python Long
containing the address where the pattern was found, or None
if
the pattern could not be found.
Return the thread object corresponding to thread_handle, a thread
library specific data structure such as pthread_t
for pthreads
library implementations.
Next: Events In Python, Previous: Writing an Xmethod, Up: Python API [Contents][Index]