1<html lang="en"> 2<head> 3<title>Extending GDB - 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="prev" href="Controlling-GDB.html#Controlling-GDB" title="Controlling GDB"> 9<link rel="next" href="Interpreters.html#Interpreters" title="Interpreters"> 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="Extending-GDB"></a> 43<p> 44Next: <a rel="next" accesskey="n" href="Interpreters.html#Interpreters">Interpreters</a>, 45Previous: <a rel="previous" accesskey="p" href="Controlling-GDB.html#Controlling-GDB">Controlling GDB</a>, 46Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a> 47<hr> 48</div> 49 50<h2 class="chapter">23 Extending <span class="sc">gdb</span></h2> 51 52<p><a name="index-extending-GDB-1528"></a> 53<span class="sc">gdb</span> provides two mechanisms for extension. The first is based 54on composition of <span class="sc">gdb</span> commands, and the second is based on the 55Python scripting language. 56 57 <p>To facilitate the use of these extensions, <span class="sc">gdb</span> is capable 58of evaluating the contents of a file. When doing so, <span class="sc">gdb</span> 59can recognize which scripting language is being used by looking at 60the filename extension. Files with an unrecognized filename extension 61are always treated as a <span class="sc">gdb</span> Command Files. 62See <a href="Command-Files.html#Command-Files">Command files</a>. 63 64 <p>You can control how <span class="sc">gdb</span> evaluates these files with the following 65setting: 66 67 68<a name="index-set-script_002dextension-1529"></a> 69<a name="index-show-script_002dextension-1530"></a> 70<dl><dt><code>set script-extension off</code><dd>All scripts are always evaluated as <span class="sc">gdb</span> Command Files. 71 72 <br><dt><code>set script-extension soft</code><dd>The debugger determines the scripting language based on filename 73extension. If this scripting language is supported, <span class="sc">gdb</span> 74evaluates the script using that language. Otherwise, it evaluates 75the file as a <span class="sc">gdb</span> Command File. 76 77 <br><dt><code>set script-extension strict</code><dd>The debugger determines the scripting language based on filename 78extension, and evaluates the script using that language. If the 79language is not supported, then the evaluation fails. 80 81 <br><dt><code>show script-extension</code><dd>Display the current value of the <code>script-extension</code> option. 82 83 </dl> 84 85<ul class="menu"> 86<li><a accesskey="1" href="Sequences.html#Sequences">Sequences</a>: Canned Sequences of Commands 87<li><a accesskey="2" href="Python.html#Python">Python</a>: Scripting <span class="sc">gdb</span> using Python 88</ul> 89 90 </body></html> 91 92