Next: , Up: Python API


23.2.2.1 Basic Python

gdb introduces a new Python module, named gdb. All methods and classes added by gdb are placed in this module. gdb automatically imports the gdb module for use in all scripts evaluated by the python command.

— Function: execute command [from_tty]

Evaluate command, a string, as a gdb CLI command. If a GDB exception happens while command runs, it is translated as described in Exception Handling. If no exceptions occur, this function returns None.

from_tty specifies whether gdb ought to consider this command as having originated from the user invoking it interactively. It must be a boolean value. If omitted, it defaults to False.

— Function: parameter parameter

Return the value of a gdb parameter. parameter is a string naming the parameter to look up; parameter may contain spaces if the parameter has a multi-part name. For example, ‘print object’ is a valid parameter name.

If the named parameter does not exist, this function throws a RuntimeError. Otherwise, the parameter's value is converted to a Python value of the appropriate type, and returned.

— Function: history number

Return a value from gdb's value history (see Value History). number indicates which history element to return. If number is negative, then gdb will take its absolute value and count backward from the last element (i.e., the most recent element) to find the value to return. If number is zero, then gdb will return the most recent element. If the element specified by number doesn't exist in the value history, a RuntimeError exception will be raised.

If no exception is raised, the return value is always an instance of gdb.Value (see Values From Inferior).

— Function: parse_and_eval expression

Parse expression as an expression in the current language, evaluate it, and return the result as a gdb.Value. expression must be a string.

This function can be useful when implementing a new command (see Commands In Python), as it provides a way to parse the command's argument as an expression. It is also useful simply to compute values, for example, it is the only way to get the value of a convenience variable (see Convenience Vars) as a gdb.Value.

— Function: write string

Print a string to gdb's paginated standard output stream. Writing to sys.stdout or sys.stderr will automatically call this function.

— Function: flush

Flush gdb's paginated standard output stream. Flushing sys.stdout or sys.stderr will automatically call this function.