gdb: Python Commands

 
 23.2.1 Python Commands
 ----------------------
 
 GDB provides two commands for accessing the Python interpreter, and one
 related setting:
 
 'python-interactive [COMMAND]'
 'pi [COMMAND]'
      Without an argument, the 'python-interactive' command can be used
      to start an interactive Python prompt.  To return to GDB, type the
      'EOF' character (e.g., 'Ctrl-D' on an empty prompt).
 
      Alternatively, a single-line Python command can be given as an
      argument and evaluated.  If the command is an expression, the
      result will be printed; otherwise, nothing will be printed.  For
      example:
 
           (gdb) python-interactive 2 + 3
           5
 
 'python [COMMAND]'
 'py [COMMAND]'
      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
           >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.  SeeExtending GDB Extending GDB.