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-2013 Free Software Foundation, Inc. 13 14Permission is granted to copy, distribute and/or modify this document 15under the terms of the GNU Free Documentation License, Version 1.3 or 16any later version published by the Free Software Foundation; with the 17Invariant Sections being ``Free Software'' and ``Free Software Needs 18Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,'' 19and with the Back-Cover Texts as in (a) below. 20 21(a) The FSF's Back-Cover Text is: ``You are free to copy and modify 22this GNU Manual. Buying copies from GNU Press supports the FSF in 23developing GNU and promoting software freedom.'' 24--> 25<meta http-equiv="Content-Style-Type" content="text/css"> 26<style type="text/css"><!-- 27 pre.display { font-family:inherit } 28 pre.format { font-family:inherit } 29 pre.smalldisplay { font-family:inherit; font-size:smaller } 30 pre.smallformat { font-family:inherit; font-size:smaller } 31 pre.smallexample { font-size:smaller } 32 pre.smalllisp { font-size:smaller } 33 span.sc { font-variant:small-caps } 34 span.roman { font-family:serif; font-weight:normal; } 35 span.sansserif { font-family:sans-serif; font-weight:normal; } 36--></style> 37<link rel="stylesheet" type="text/css" href="../cs.css"> 38</head> 39<body> 40<div class="node"> 41<a name="Extending-GDB"></a> 42<p> 43Next: <a rel="next" accesskey="n" href="Interpreters.html#Interpreters">Interpreters</a>, 44Previous: <a rel="previous" accesskey="p" href="Controlling-GDB.html#Controlling-GDB">Controlling GDB</a>, 45Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a> 46<hr> 47</div> 48 49<h2 class="chapter">23 Extending <span class="sc">gdb</span></h2> 50 51<p><a name="index-extending-GDB-1679"></a> 52<span class="sc">gdb</span> provides three mechanisms for extension. The first is based 53on composition of <span class="sc">gdb</span> commands, the second is based on the 54Python scripting language, and the third is for defining new aliases of 55existing commands. 56 57 <p>To facilitate the use of the first two 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-1680"></a> 69<a name="index-show-script_002dextension-1681"></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<li><a accesskey="3" href="Aliases.html#Aliases">Aliases</a>: Creating new spellings of existing commands 89</ul> 90 91 </body></html> 92 93