<html lang="en">
<head>
<title>Auto-loading - 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="up" href="Python.html#Python" title="Python">
<link rel="prev" href="Python-API.html#Python-API" title="Python API">
<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="Auto-loading"></a>
<a name="Auto_002dloading"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Python-API.html#Python-API">Python API</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Python.html#Python">Python</a>
<hr>
</div>

<h4 class="subsection">23.2.3 Auto-loading</h4>

<p><a name="index-auto_002dloading_002c-Python-1944"></a>
When a new object file is read (for example, due to the <code>file</code>
command, or because the inferior has loaded a shared library),
<span class="sc">gdb</span> will look for Python support scripts in several ways:
<samp><var>objfile</var><span class="file">-gdb.py</span></samp> and <code>.debug_gdb_scripts</code> section.

<ul class="menu">
<li><a accesskey="1" href="objfile_002dgdb_002epy-file.html#objfile_002dgdb_002epy-file">objfile-gdb.py file</a>:          The <samp><var>objfile</var><span class="file">-gdb.py</span></samp> file
<li><a accesskey="2" href="_002edebug_005fgdb_005fscripts-section.html#g_t_002edebug_005fgdb_005fscripts-section">.debug_gdb_scripts section</a>:   The <code>.debug_gdb_scripts</code> section
<li><a accesskey="3" href="Which-flavor-to-choose_003f.html#Which-flavor-to-choose_003f">Which flavor to choose?</a>
</ul>

   <p>The auto-loading feature is useful for supplying application-specific
debugging commands and scripts.

   <p>Auto-loading can be enabled or disabled.

     
<a name="index-maint-set-python-auto_002dload-1945"></a>
<dl><dt><code>maint set python auto-load [yes|no]</code><dd>Enable or disable the Python auto-loading feature.

     <p><a name="index-maint-show-python-auto_002dload-1946"></a><br><dt><code>maint show python auto-load</code><dd>Show whether Python auto-loading is enabled or disabled. 
</dl>

   <p>When reading an auto-loaded file, <span class="sc">gdb</span> sets the
<dfn>current objfile</dfn>.  This is available via the <code>gdb.current_objfile</code>
function (see <a href="Objfiles-In-Python.html#Objfiles-In-Python">Objfiles In Python</a>).  This can be useful for
registering objfile-specific pretty-printers.

   </body></html>

