1<html lang="en"> 2<head> 3<title>Python Commands - Debugging with GDB</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Debugging with GDB"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Python.html#Python" title="Python"> 9<link rel="next" href="Python-API.html#Python-API" title="Python API"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 14Free Software Foundation, Inc. 15 16Permission is granted to copy, distribute and/or modify this document 17under the terms of the GNU Free Documentation License, Version 1.3 or 18any later version published by the Free Software Foundation; with the 19Invariant Sections being ``Free Software'' and ``Free Software Needs 20Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,'' 21and with the Back-Cover Texts as in (a) below. 22 23(a) The FSF's Back-Cover Text is: ``You are free to copy and modify 24this GNU Manual. Buying copies from GNU Press supports the FSF in 25developing GNU and promoting software freedom.''--> 26<meta http-equiv="Content-Style-Type" content="text/css"> 27<style type="text/css"><!-- 28 pre.display { font-family:inherit } 29 pre.format { font-family:inherit } 30 pre.smalldisplay { font-family:inherit; font-size:smaller } 31 pre.smallformat { font-family:inherit; font-size:smaller } 32 pre.smallexample { font-size:smaller } 33 pre.smalllisp { font-size:smaller } 34 span.sc { font-variant:small-caps } 35 span.roman { font-family:serif; font-weight:normal; } 36 span.sansserif { font-family:sans-serif; font-weight:normal; } 37--></style> 38<link rel="stylesheet" type="text/css" href="../cs.css"> 39</head> 40<body> 41<div class="node"> 42<a name="Python-Commands"></a> 43<p> 44Next: <a rel="next" accesskey="n" href="Python-API.html#Python-API">Python API</a>, 45Up: <a rel="up" accesskey="u" href="Python.html#Python">Python</a> 46<hr> 47</div> 48 49<h4 class="subsection">23.2.1 Python Commands</h4> 50 51<p><a name="index-python-commands-1569"></a><a name="index-commands-to-access-python-1570"></a> 52<span class="sc">gdb</span> provides one command for accessing the Python interpreter, 53and one related setting: 54 55 56<a name="index-python-1571"></a> 57<dl><dt><code>python </code><span class="roman">[</span><var>code</var><span class="roman">]</span><dd>The <code>python</code> command can be used to evaluate Python code. 58 59 <p>If given an argument, the <code>python</code> command will evaluate the 60argument as a Python command. For example: 61 62 <pre class="smallexample"> (gdb) python print 23 63 23 64</pre> 65 <p>If you do not provide an argument to <code>python</code>, it will act as a 66multi-line command, like <code>define</code>. In this case, the Python 67script is made up of subsequent command lines, given after the 68<code>python</code> command. This command list is terminated using a line 69containing <code>end</code>. For example: 70 71 <pre class="smallexample"> (gdb) python 72 Type python script 73 End with a line saying just "end". 74 >print 23 75 >end 76 23 77</pre> 78 <p><a name="index-maint-set-python-print_002dstack-1572"></a><br><dt><code>maint set python print-stack</code><dd>By default, <span class="sc">gdb</span> will print a stack trace when an error occurs 79in a Python script. This can be controlled using <code>maint set 80python print-stack</code>: if <code>on</code>, the default, then Python stack 81printing is enabled; if <code>off</code>, then Python stack printing is 82disabled. 83</dl> 84 85 <p>It is also possible to execute a Python script from the <span class="sc">gdb</span> 86interpreter: 87 88 <dl> 89<dt><code>source </code><samp><span class="file">script-name</span></samp><dd>The script name must end with ‘<samp><span class="samp">.py</span></samp>’ and <span class="sc">gdb</span> must be configured 90to recognize the script language based on filename extension using 91the <code>script-extension</code> setting. See <a href="Extending-GDB.html#Extending-GDB">Extending GDB</a>. 92 93 <br><dt><code>python execfile ("script-name")</code><dd>This method is based on the <code>execfile</code> Python built-in function, 94and thus is always available. 95</dl> 96 97 </body></html> 98 99