blob: a54654d580300e7e630aa2fc0a204cd9bcd16915 [file] [log] [blame]
<html lang="en">
<head>
<title>Extending GDB - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Controlling-GDB.html#Controlling-GDB" title="Controlling GDB">
<link rel="next" href="Interpreters.html#Interpreters" title="Interpreters">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Extending-GDB"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Interpreters.html#Interpreters">Interpreters</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Controlling-GDB.html#Controlling-GDB">Controlling GDB</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<h2 class="chapter">23 Extending <span class="sc">gdb</span></h2>
<p><a name="index-extending-GDB-1528"></a>
<span class="sc">gdb</span> provides two mechanisms for extension. The first is based
on composition of <span class="sc">gdb</span> commands, and the second is based on the
Python scripting language.
<p>To facilitate the use of these extensions, <span class="sc">gdb</span> is capable
of evaluating the contents of a file. When doing so, <span class="sc">gdb</span>
can recognize which scripting language is being used by looking at
the filename extension. Files with an unrecognized filename extension
are always treated as a <span class="sc">gdb</span> Command Files.
See <a href="Command-Files.html#Command-Files">Command files</a>.
<p>You can control how <span class="sc">gdb</span> evaluates these files with the following
setting:
<a name="index-set-script_002dextension-1529"></a>
<a name="index-show-script_002dextension-1530"></a>
<dl><dt><code>set script-extension off</code><dd>All scripts are always evaluated as <span class="sc">gdb</span> Command Files.
<br><dt><code>set script-extension soft</code><dd>The debugger determines the scripting language based on filename
extension. If this scripting language is supported, <span class="sc">gdb</span>
evaluates the script using that language. Otherwise, it evaluates
the file as a <span class="sc">gdb</span> Command File.
<br><dt><code>set script-extension strict</code><dd>The debugger determines the scripting language based on filename
extension, and evaluates the script using that language. If the
language is not supported, then the evaluation fails.
<br><dt><code>show script-extension</code><dd>Display the current value of the <code>script-extension</code> option.
</dl>
<ul class="menu">
<li><a accesskey="1" href="Sequences.html#Sequences">Sequences</a>: Canned Sequences of Commands
<li><a accesskey="2" href="Python.html#Python">Python</a>: Scripting <span class="sc">gdb</span> using Python
</ul>
</body></html>