Next: Python API, 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
                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
                >end
                23

`set python print-stack`
  By default, gdb will print only the message component of a Python exception when an error occurs in a Python script. This can be controlled using `set python print-stack`: if `full`, then full Python stack printing is enabled; if `none`, then Python stack and message printing is disabled; if `message`, the default, only the message component of the error is printed.

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.