Next: , Up: Python

23.2.1 Python Commands

gdb provides one command for accessing the Python interpreter, and one related setting:

python [code]
The python command can be used to evaluate Python code.

If given an argument, the python command will evaluate the argument as a Python command. For example:

          (gdb) python print 23

If you do not provide an argument to python, it will act as a multi-line command, like define. In this case, the Python script is made up of subsequent command lines, given after the python command. This command list is terminated using a line containing end. For example:

          (gdb) python
          Type python script
          End with a line saying just "end".
          >print 23

maint set python print-stack
By default, gdb will print a stack trace when an error occurs in a Python script. This can be controlled using maint set python print-stack: if on, the default, then Python stack printing is enabled; if off, then Python stack printing is disabled.

It is also possible to execute a Python script from the gdb interpreter:

source script-name
The script name must end with .py and gdb must be configured to recognize the script language based on filename extension using the script-extension setting. See Extending GDB.
python execfile ("script-name")
This method is based on the execfile Python built-in function, and thus is always available.