<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-2019 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>
</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-1793"></a>
<span class="sc">gdb</span> provides several mechanisms for extension. 
<span class="sc">gdb</span> also provides the ability to automatically load
extensions when it reads a file for debugging.  This allows the
user to automatically customize <span class="sc">gdb</span> for the program
being debugged.

<ul class="menu">
<li><a accesskey="1" href="Sequences.html#Sequences">Sequences</a>:                 Canned Sequences of <span class="sc">gdb</span> Commands
<li><a accesskey="2" href="Python.html#Python">Python</a>:                    Extending <span class="sc">gdb</span> using Python
<li><a accesskey="3" href="Guile.html#Guile">Guile</a>:                     Extending <span class="sc">gdb</span> using Guile
<li><a accesskey="4" href="Auto_002dloading-extensions.html#Auto_002dloading-extensions">Auto-loading extensions</a>:   Automatically loading extensions
<li><a accesskey="5" href="Multiple-Extension-Languages.html#Multiple-Extension-Languages">Multiple Extension Languages</a>:  Working with multiple extension languages
<li><a accesskey="6" href="Aliases.html#Aliases">Aliases</a>:                   Creating new spellings of existing commands
</ul>

   <p>To facilitate the use of extension languages, <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 extension 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-1794"></a>
<a name="index-show-script_002dextension-1795"></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>

   </body></html>

