1
0
Fork 0

arduino-0018-windows

This commit is contained in:
orange 2010-03-30 21:53:44 +02:00
parent 157fd6f1a1
commit f39fc49523
5182 changed files with 950586 additions and 0 deletions

View file

@ -0,0 +1,145 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Debugging with GDB</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Debugging with GDB">
<META NAME="keywords" CONTENT="Debugging with GDB: Debugging with GDB">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC_Top"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Debugging with GDB</H1></P><P>
This file describes GDB, the GNU symbolic debugger.
</P><P>
This is the Ninth Edition, for GDB Version
6.8.
</P><P>
Copyright (C) 1988-2006 Free Software Foundation, Inc.
</P><P>
This edition of the GDB manual is dedicated to the memory of Fred
Fish. Fred was a long-standing contributor to GDB and to Free
software in general. We will miss him.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_1.html#SEC1">Summary of GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_2.html#SEC5">1. A Sample GDB Session</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A sample GDB session</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC6">2. Getting In and Out of GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting in and out of GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_4.html#SEC14">3. GDB Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GDB commands</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_5.html#SEC18">4. Running Programs Under GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Running programs under GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_6.html#SEC31">5. Stopping and Continuing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Stopping and continuing</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_7.html#SEC46">6. Examining the Stack</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examining the stack</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC51">7. Examining Source Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examining source files</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examining data</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Preprocessor Macros</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC84">10. Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Debugging remote targets non-intrusively</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_12.html#SEC97">11. Debugging Programs That Use Overlays</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Debugging programs that use overlays</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_13.html#SEC102">12. Using GDB with Different Languages</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Using GDB with different languages</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Examining the symbol table</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC147">14. Altering Execution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Altering execution</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_16.html#SEC154">15. GDB Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GDB files</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying a debugging target</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_18.html#SEC162">17. Debugging Remote Programs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Debugging remote programs</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC177">18. Configuration-Specific Information</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Configuration-specific information</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC220">19. Controlling GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_21.html#SEC229">20. Canned Sequences of Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Canned sequences of commands</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC235">22. GDB Text User Interface</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_24.html#SEC241">23. Using GDB under GNU Emacs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC242">24. The GDB/MI Interface</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GDB's Machine Interface.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC646">25. GDB Annotations</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GDB's annotation interface.</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_27.html#SEC654">26. Reporting Bugs in GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Reporting bugs in GDB</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_28.html#SEC657">27. Command Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_29.html#SEC679">28. Using History Interactively</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_30.html#SEC684">A. Formatting Documentation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to format and print GDB documentation</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC685">B. Installing GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_33.html#SEC694">D. GDB Remote Serial Protocol</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_34.html#SEC738">E. The GDB Agent Expression Mechanism</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC745">F. Target Descriptions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How targets can describe themselves to</TD></TR>
</TABLE>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GDB
<br>
<TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_36.html#SEC759">G. GNU GENERAL PUBLIC LICENSE</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GNU General Public License says
how you can copy and share GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_37.html#SEC762">H. GNU Free Documentation License</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The license for this documentation</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_38.html#SEC764">Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,516 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Summary</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Summary">
<META NAME="keywords" CONTENT="Debugging with GDB: Summary">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC1"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC2"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<A NAME="Summary"></A>
<H1> Summary of GDB </H1>
<!--docid::SEC1::-->
<P>
The purpose of a debugger such as GDB is to allow you to see what is
going on "inside" another program while it executes--or what another
program was doing at the moment it crashed.
</P><P>
GDB can do four main kinds of things (plus other things in support of
these) to help you catch bugs in the act:
</P><P>
<UL>
<LI>
Start your program, specifying anything that might affect its behavior.
<P>
<LI>
Make your program stop on specified conditions.
<P>
<LI>
Examine what has happened, when your program has stopped.
<P>
<LI>
Change things in your program, so you can experiment with correcting the
effects of one bug and go on to learn about another.
</UL>
<P>
You can use GDB to debug programs written in C and C<TT>++</TT>.
For more information, see <A HREF="gdb_13.html#SEC111">Supported Languages</A>.
For more information, see <A HREF="gdb_13.html#SEC112">C and C++</A>.
</P><P>
<A NAME="IDX1"></A>
Support for Modula-2 is partial. For information on Modula-2, see
<A HREF="gdb_13.html#SEC129">Modula-2</A>.
</P><P>
<A NAME="IDX2"></A>
Debugging Pascal programs which use sets, subranges, file variables, or
nested functions does not currently work. GDB does not support
entering expressions, printing values, or similar features using Pascal
syntax.
</P><P>
<A NAME="IDX3"></A>
GDB can be used to debug programs written in Fortran, although
it may be necessary to refer to some variables with a trailing
underscore.
</P><P>
GDB can be used to debug programs written in Objective-C,
using either the Apple/NeXT or the GNU Objective-C runtime.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_1.html#SEC2">Free Software</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Freely redistributable software</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_1.html#SEC4">Contributors to GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Free Software"></A>
<HR SIZE="6">
<A NAME="SEC2"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC1"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC3"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> Free Software </H2>
<!--docid::SEC2::-->
<P>
GDB is <EM>free software</EM>, protected by the GNU
General Public License
(GPL). The GPL gives you the freedom to copy or adapt a licensed
program--but every person getting a copy also gets with it the
freedom to modify that copy (which means that they must get access to
the source code), and the freedom to distribute further copies.
Typical software companies use copyrights to limit your freedoms; the
Free Software Foundation uses the GPL to preserve these freedoms.
</P><P>
Fundamentally, the General Public License is a license which says that
you have these freedoms and that you cannot take these freedoms away
from anyone else.
</P><P>
<HR SIZE="6">
<A NAME="SEC3"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC2"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC4"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> Free Software Needs Free Documentation </H2>
<!--docid::SEC3::-->
<P>
The biggest deficiency in the free software community today is not in
the software--it is the lack of good free documentation that we can
include with the free software. Many of our most important
programs do not come with free reference manuals and free introductory
texts. Documentation is an essential part of any software package;
when an important free software package does not come with a free
manual and a free tutorial, that is a major gap. We have many such
gaps today.
</P><P>
Consider Perl, for instance. The tutorial manuals that people
normally use are non-free. How did this come about? Because the
authors of those manuals published them with restrictive terms--no
copying, no modification, source files not available--which exclude
them from the free software world.
</P><P>
That wasn't the first time this sort of thing happened, and it was far
from the last. Many times we have heard a GNU user eagerly describe a
manual that he is writing, his intended contribution to the community,
only to learn that he had ruined everything by signing a publication
contract to make it non-free.
</P><P>
Free documentation, like free software, is a matter of freedom, not
price. The problem with the non-free manual is not that publishers
charge a price for printed copies--that in itself is fine. (The Free
Software Foundation sells printed copies of manuals, too.) The
problem is the restrictions on the use of the manual. Free manuals
are available in source code form, and give you permission to copy and
modify. Non-free manuals do not allow this.
</P><P>
The criteria of freedom for a free manual are roughly the same as for
free software. Redistribution (including the normal kinds of
commercial redistribution) must be permitted, so that the manual can
accompany every copy of the program, both on-line and on paper.
</P><P>
Permission for modification of the technical content is crucial too.
When people modify the software, adding or changing features, if they
are conscientious they will change the manual too--so they can
provide accurate and clear documentation for the modified program. A
manual that leaves you no choice but to write a new manual to document
a changed version of the program is not really available to our
community.
</P><P>
Some kinds of limits on the way modification is handled are
acceptable. For example, requirements to preserve the original
author's copyright notice, the distribution terms, or the list of
authors, are ok. It is also no problem to require modified versions
to include notice that they were modified. Even entire sections that
may not be deleted or changed are acceptable, as long as they deal
with nontechnical topics (like this one). These kinds of restrictions
are acceptable because they don't obstruct the community's normal use
of the manual.
</P><P>
However, it must be possible to modify all the <EM>technical</EM>
content of the manual, and then distribute the result in all the usual
media, through all the usual channels. Otherwise, the restrictions
obstruct the use of the manual, it is not free, and we need another
manual to replace it.
</P><P>
Please spread the word about this issue. Our community continues to
lose manuals to proprietary publishing. If we spread the word that
free software needs free reference manuals and free tutorials, perhaps
the next person who wants to contribute by writing documentation will
realize, before it is too late, that only free manuals contribute to
the free software community.
</P><P>
If you are writing documentation, please insist on publishing it under
the GNU Free Documentation License or another free documentation
license. Remember that this decision requires your approval--you
don't have to let the publisher decide. Some commercial publishers
will use a free license if you insist, but they will not propose the
option; it is up to you to raise the issue and say firmly that this is
what you want. If the publisher you are dealing with refuses, please
try other publishers. If you're not sure whether a proposed license
is free, write to <A HREF="mailto:licensing@gnu.org">licensing@gnu.org</A>.
</P><P>
You can encourage commercial publishers to sell more free, copylefted
manuals and tutorials by buying them, and particularly by buying
copies from the publishers that paid for their writing or for major
improvements. Meanwhile, try to avoid buying non-free documentation
at all. Check the distribution terms of a manual before you buy it,
and insist that whoever seeks your business must respect your freedom.
Check the history of the book, and try to reward the publishers that
have paid or pay the authors to work on it.
</P><P>
The Free Software Foundation maintains a list of free documentation
published by other publishers, at
<A HREF="http://www.fsf.org/doc/other-free-books.html">http://www.fsf.org/doc/other-free-books.html</A>.
</P><P>
<A NAME="Contributors"></A>
<HR SIZE="6">
<A NAME="SEC4"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC3"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_2.html#SEC5"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> Contributors to GDB </H2>
<!--docid::SEC4::-->
<P>
Richard Stallman was the original author of GDB, and of many
other GNU programs. Many others have contributed to its
development. This section attempts to credit major contributors. One
of the virtues of free software is that everyone is free to contribute
to it; with regret, we cannot actually acknowledge everyone here. The
file <TT>`ChangeLog'</TT> in the GDB distribution approximates a
blow-by-blow account.
</P><P>
Changes much prior to version 2.0 are lost in the mists of time.
</P><P>
<BLOCKQUOTE>
<EM>Plea:</EM> Additions to this section are particularly welcome. If you
or your friends (or enemies, to be evenhanded) have been unfairly
omitted from this list, we would like to add your names!
</BLOCKQUOTE>
<P>
So that they may not regard their many labors as thankless, we
particularly thank those who shepherded GDB through major
releases:
Andrew Cagney (releases 6.3, 6.2, 6.1, 6.0, 5.3, 5.2, 5.1 and 5.0);
Jim Blandy (release 4.18);
Jason Molenda (release 4.17);
Stan Shebs (release 4.14);
Fred Fish (releases 4.16, 4.15, 4.13, 4.12, 4.11, 4.10, and 4.9);
Stu Grossman and John Gilmore (releases 4.8, 4.7, 4.6, 4.5, and 4.4);
John Gilmore (releases 4.3, 4.2, 4.1, 4.0, and 3.9);
Jim Kingdon (releases 3.5, 3.4, and 3.3);
and Randy Smith (releases 3.2, 3.1, and 3.0).
</P><P>
Richard Stallman, assisted at various times by Peter TerMaat, Chris
Hanson, and Richard Mlynarik, handled releases through 2.8.
</P><P>
Michael Tiemann is the author of most of the GNU C<TT>++</TT> support
in GDB, with significant additional contributions from Per
Bothner and Daniel Berlin. James Clark wrote the GNU C<TT>++</TT>
demangler. Early work on C<TT>++</TT> was by Peter TerMaat (who also did
much general update work leading to release 3.0).
</P><P>
GDB uses the BFD subroutine library to examine multiple
object-file formats; BFD was a joint project of David V.
Henkel-Wallace, Rich Pixley, Steve Chamberlain, and John Gilmore.
</P><P>
David Johnson wrote the original COFF support; Pace Willison did
the original support for encapsulated COFF.
</P><P>
Brent Benson of Harris Computer Systems contributed DWARF 2 support.
</P><P>
Adam de Boor and Bradley Davis contributed the ISI Optimum V support.
Per Bothner, Noboyuki Hikichi, and Alessandro Forin contributed MIPS
support.
Jean-Daniel Fekete contributed Sun 386i support.
Chris Hanson improved the HP9000 support.
Noboyuki Hikichi and Tomoyuki Hasei contributed Sony/News OS 3 support.
David Johnson contributed Encore Umax support.
Jyrki Kuoppala contributed Altos 3068 support.
Jeff Law contributed HP PA and SOM support.
Keith Packard contributed NS32K support.
Doug Rabson contributed Acorn Risc Machine support.
Bob Rusk contributed Harris Nighthawk CX-UX support.
Chris Smith contributed Convex support (and Fortran debugging).
Jonathan Stone contributed Pyramid support.
Michael Tiemann contributed SPARC support.
Tim Tucker contributed support for the Gould NP1 and Gould Powernode.
Pace Willison contributed Intel 386 support.
Jay Vosburgh contributed Symmetry support.
Marko Mlinar contributed OpenRISC 1000 support.
</P><P>
Andreas Schwab contributed M68K GNU/Linux support.
</P><P>
Rich Schaefer and Peter Schauer helped with support of SunOS shared
libraries.
</P><P>
Jay Fenlason and Roland McGrath ensured that GDB and GAS agree
about several machine instruction sets.
</P><P>
Patrick Duval, Ted Goldstein, Vikram Koka and Glenn Engel helped develop
remote debugging. Intel Corporation, Wind River Systems, AMD, and ARM
contributed remote debugging modules for the i960, VxWorks, A29K UDI,
and RDI targets, respectively.
</P><P>
Brian Fox is the author of the readline libraries providing
command-line editing and command history.
</P><P>
Andrew Beers of SUNY Buffalo wrote the language-switching code, the
Modula-2 support, and contributed the Languages chapter of this manual.
</P><P>
Fred Fish wrote most of the support for Unix System Vr4.
He also enhanced the command-completion support to cover C<TT>++</TT> overloaded
symbols.
</P><P>
Hitachi America (now Renesas America), Ltd. sponsored the support for
H8/300, H8/500, and Super-H processors.
</P><P>
NEC sponsored the support for the v850, Vr4xxx, and Vr5xxx processors.
</P><P>
Mitsubishi (now Renesas) sponsored the support for D10V, D30V, and M32R/D
processors.
</P><P>
Toshiba sponsored the support for the TX39 Mips processor.
</P><P>
Matsushita sponsored the support for the MN10200 and MN10300 processors.
</P><P>
Fujitsu sponsored the support for SPARClite and FR30 processors.
</P><P>
Kung Hsu, Jeff Law, and Rick Sladkey added support for hardware
watchpoints.
</P><P>
Michael Snyder added support for tracepoints.
</P><P>
Stu Grossman wrote gdbserver.
</P><P>
Jim Kingdon, Peter Schauer, Ian Taylor, and Stu Grossman made
nearly innumerable bug fixes and cleanups throughout GDB.
</P><P>
The following people at the Hewlett-Packard Company contributed
support for the PA-RISC 2.0 architecture, HP-UX 10.20, 10.30, and 11.0
(narrow mode), HP's implementation of kernel threads, HP's aC<TT>++</TT>
compiler, and the Text User Interface (nee Terminal User Interface):
Ben Krepp, Richard Title, John Bishop, Susan Macchia, Kathy Mann,
Satish Pai, India Paul, Steve Rehrauer, and Elena Zannoni. Kim Haase
provided HP-specific information in this manual.
</P><P>
DJ Delorie ported GDB to MS-DOS, for the DJGPP project.
Robert Hoehne made significant contributions to the DJGPP port.
</P><P>
Cygnus Solutions has sponsored GDB maintenance and much of its
development since 1991. Cygnus engineers who have worked on GDB
fulltime include Mark Alexander, Jim Blandy, Per Bothner, Kevin
Buettner, Edith Epstein, Chris Faylor, Fred Fish, Martin Hunt, Jim
Ingham, John Gilmore, Stu Grossman, Kung Hsu, Jim Kingdon, John Metzler,
Fernando Nasser, Geoffrey Noer, Dawn Perchik, Rich Pixley, Zdenek
Radouch, Keith Seitz, Stan Shebs, David Taylor, and Elena Zannoni. In
addition, Dave Brolley, Ian Carmichael, Steve Chamberlain, Nick Clifton,
JT Conklin, Stan Cox, DJ Delorie, Ulrich Drepper, Frank Eigler, Doug
Evans, Sean Fagan, David Henkel-Wallace, Richard Henderson, Jeff
Holcomb, Jeff Law, Jim Lemke, Tom Lord, Bob Manson, Michael Meissner,
Jason Merrill, Catherine Moore, Drew Moseley, Ken Raeburn, Gavin
Romig-Koch, Rob Savoye, Jamie Smith, Mike Stump, Ian Taylor, Angela
Thomas, Michael Tiemann, Tom Tromey, Ron Unrau, Jim Wilson, and David
Zuhn have made contributions both large and small.
</P><P>
Andrew Cagney, Fernando Nasser, and Elena Zannoni, while working for
Cygnus Solutions, implemented the original GDB/MI interface.
</P><P>
Jim Blandy added support for preprocessor macros, while working for Red
Hat.
</P><P>
Andrew Cagney designed GDB's architecture vector. Many
people including Andrew Cagney, Stephane Carrez, Randolph Chung, Nick
Duffek, Richard Henderson, Mark Kettenis, Grace Sainsbury, Kei
Sakamoto, Yoshinori Sato, Michael Snyder, Andreas Schwab, Jason
Thorpe, Corinna Vinschen, Ulrich Weigand, and Elena Zannoni, helped
with the migration of old architectures to this new framework.
</P><P>
Andrew Cagney completely re-designed and re-implemented GDB's
unwinder framework, this consisting of a fresh new design featuring
frame IDs, independent frame sniffers, and the sentinel frame. Mark
Kettenis implemented the DWARF 2 unwinder, Jeff Johnston the
libunwind unwinder, and Andrew Cagney the dummy, sentinel, tramp, and
trad unwinders. The architecture-specific changes, each involving a
complete rewrite of the architecture's frame code, were carried out by
Jim Blandy, Joel Brobecker, Kevin Buettner, Andrew Cagney, Stephane
Carrez, Randolph Chung, Orjan Friberg, Richard Henderson, Daniel
Jacobowitz, Jeff Johnston, Mark Kettenis, Theodore A. Roth, Kei
Sakamoto, Yoshinori Sato, Michael Snyder, Corinna Vinschen, and Ulrich
Weigand.
</P><P>
Christian Zankel, Ross Morley, Bob Wilson, and Maxim Grigoriev from
Tensilica, Inc. contributed support for Xtensa processors. Others
who have worked on the Xtensa port of GDB in the past include
Steve Tjiang, John Newlin, and Scott Foehner.
</P><P>
<A NAME="Sample Session"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,317 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Macros</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Macros">
<META NAME="keywords" CONTENT="Debugging with GDB: Macros">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC83"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC82"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 9. C Preprocessor Macros </H1>
<!--docid::SEC83::-->
<P>
Some languages, such as C and C<TT>++</TT>, provide a way to define and invoke
"preprocessor macros" which expand into strings of tokens.
GDB can evaluate expressions containing macro invocations, show
the result of macro expansion, and show a macro's definition, including
where it was defined.
</P><P>
You may need to compile your program specially to provide GDB
with information about preprocessor macros. Most compilers do not
include macros in their debugging information, even when you compile
with the <SAMP>`-g'</SAMP> flag. See section <A HREF="gdb_5.html#SEC19">4.1 Compiling for Debugging</A>.
</P><P>
A program may define a macro at one point, remove that definition later,
and then provide a different definition after that. Thus, at different
points in the program, a macro may have different definitions, or have
no definition at all. If there is a current stack frame, GDB
uses the macros in scope at that frame's source code line. Otherwise,
GDB uses the macros in scope at the current listing location;
see <A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A>.
</P><P>
At the moment, GDB does not support the <CODE>##</CODE>
token-splicing operator, the <CODE>#</CODE> stringification operator, or
variable-arity macros.
</P><P>
Whenever GDB evaluates an expression, it always expands any
macro invocations present in the expression. GDB also provides
the following commands for working with macros explicitly.
</P><P>
<DL COMPACT>
<A NAME="IDX507"></A>
<A NAME="IDX508"></A>
<A NAME="IDX509"></A>
<A NAME="IDX510"></A>
<DT><CODE>macro expand <VAR>expression</VAR></CODE>
<DD><DT><CODE>macro exp <VAR>expression</VAR></CODE>
<DD>Show the results of expanding all preprocessor macro invocations in
<VAR>expression</VAR>. Since GDB simply expands macros, but does
not parse the result, <VAR>expression</VAR> need not be a valid expression;
it can be any string of tokens.
<P>
<A NAME="IDX511"></A>
<DT><CODE>macro expand-once <VAR>expression</VAR></CODE>
<DD><DT><CODE>macro exp1 <VAR>expression</VAR></CODE>
<DD><A NAME="IDX512"></A>
<I>(This command is not yet implemented.)</I> Show the results of
expanding those preprocessor macro invocations that appear explicitly in
<VAR>expression</VAR>. Macro invocations appearing in that expansion are
left unchanged. This command allows you to see the effect of a
particular macro more clearly, without being confused by further
expansions. Since GDB simply expands macros, but does not
parse the result, <VAR>expression</VAR> need not be a valid expression; it
can be any string of tokens.
<P>
<A NAME="IDX513"></A>
<A NAME="IDX514"></A>
<A NAME="IDX515"></A>
<DT><CODE>info macro <VAR>macro</VAR></CODE>
<DD>Show the definition of the macro named <VAR>macro</VAR>, and describe the
source location where that definition was established.
<P>
<A NAME="IDX516"></A>
<A NAME="IDX517"></A>
<A NAME="IDX518"></A>
<A NAME="IDX519"></A>
<DT><CODE>macro define <VAR>macro</VAR> <VAR>replacement-list</VAR></CODE>
<DD><DT><CODE>macro define <VAR>macro</VAR>(<VAR>arglist</VAR>) <VAR>replacement-list</VAR></CODE>
<DD><I>(This command is not yet implemented.)</I> Introduce a definition for a
preprocessor macro named <VAR>macro</VAR>, invocations of which are replaced
by the tokens given in <VAR>replacement-list</VAR>. The first form of this
command defines an "object-like" macro, which takes no arguments; the
second form defines a "function-like" macro, which takes the arguments
given in <VAR>arglist</VAR>.
<P>
A definition introduced by this command is in scope in every expression
evaluated in GDB, until it is removed with the <CODE>macro
undef</CODE> command, described below. The definition overrides all
definitions for <VAR>macro</VAR> present in the program being debugged, as
well as any previous user-supplied definition.
</P><P>
<A NAME="IDX520"></A>
<DT><CODE>macro undef <VAR>macro</VAR></CODE>
<DD><I>(This command is not yet implemented.)</I> Remove any user-supplied
definition for the macro named <VAR>macro</VAR>. This command only affects
definitions provided with the <CODE>macro define</CODE> command, described
above; it cannot remove definitions present in the program being
debugged.
<P>
<A NAME="IDX521"></A>
<DT><CODE>macro list</CODE>
<DD><I>(This command is not yet implemented.)</I> List all the macros
defined using the <CODE>macro define</CODE> command.
</DL>
<P>
<A NAME="IDX522"></A>
Here is a transcript showing the above commands in action. First, we
show our source files:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ cat sample.c
#include &#60;stdio.h&#62;
#include "sample.h"
#define M 42
#define ADD(x) (M + x)
main ()
{
#define N 28
printf ("Hello, world!\n");
#undef N
printf ("We're so creative.\n");
#define N 1729
printf ("Goodbye, world!\n");
}
$ cat sample.h
#define Q &#60;
$
</FONT></pre></td></tr></table></P><P>
Now, we compile the program using the GNU C compiler, GCC.
We pass the <SAMP>`-gdwarf-2'</SAMP> and <SAMP>`-g3'</SAMP> flags to ensure the
compiler includes information about preprocessor macros in the debugging
information.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ gcc -gdwarf-2 -g3 sample.c -o sample
$
</FONT></pre></td></tr></table></P><P>
Now, we start GDB on our sample program:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ gdb -nw sample
GNU gdb 2002-05-06-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, <small>...</small>
(gdb)
</FONT></pre></td></tr></table></P><P>
We can expand macros and examine their definitions, even when the
program is not running. GDB uses the current listing position
to decide which macro definitions are in scope:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) list main
3
4 #define M 42
5 #define ADD(x) (M + x)
6
7 main ()
8 {
9 #define N 28
10 printf ("Hello, world!\n");
11 #undef N
12 printf ("We're so creative.\n");
(gdb) info macro ADD
Defined at /home/jimb/gdb/macros/play/sample.c:5
#define ADD(x) (M + x)
(gdb) info macro Q
Defined at /home/jimb/gdb/macros/play/sample.h:1
included at /home/jimb/gdb/macros/play/sample.c:2
#define Q &#60;
(gdb) macro expand ADD(1)
expands to: (42 + 1)
(gdb) macro expand-once ADD(1)
expands to: once (M + 1)
(gdb)
</FONT></pre></td></tr></table></P><P>
In the example above, note that <CODE>macro expand-once</CODE> expands only
the macro invocation explicit in the original text -- the invocation of
<CODE>ADD</CODE> -- but does not expand the invocation of the macro <CODE>M</CODE>,
which was introduced by <CODE>ADD</CODE>.
</P><P>
Once the program is running, GDB uses the macro definitions in
force at the source line of the current stack frame:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) break main
Breakpoint 1 at 0x8048370: file sample.c, line 10.
(gdb) run
Starting program: /home/jimb/gdb/macros/play/sample
Breakpoint 1, main () at sample.c:10
10 printf ("Hello, world!\n");
(gdb)
</FONT></pre></td></tr></table></P><P>
At line 10, the definition of the macro <CODE>N</CODE> at line 9 is in force:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info macro N
Defined at /home/jimb/gdb/macros/play/sample.c:9
#define N 28
(gdb) macro expand N Q M
expands to: 28 &#60; 42
(gdb) print N Q M
$1 = 1
(gdb)
</FONT></pre></td></tr></table></P><P>
As we step over directives that remove <CODE>N</CODE>'s definition, and then
give it a new definition, GDB finds the definition (or lack
thereof) in force at each point:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) next
Hello, world!
12 printf ("We're so creative.\n");
(gdb) info macro N
The symbol `N' has no definition as a C/C++ preprocessor macro
at /home/jimb/gdb/macros/play/sample.c:12
(gdb) next
We're so creative.
14 printf ("Goodbye, world!\n");
(gdb) info macro N
Defined at /home/jimb/gdb/macros/play/sample.c:13
#define N 1729
(gdb) macro expand N Q M
expands to: 1729 &#60; 42
(gdb) print N Q M
$2 = 0
(gdb)
</FONT></pre></td></tr></table></P><P>
<A NAME="Tracepoints"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,920 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Tracepoints</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Tracepoints">
<META NAME="keywords" CONTENT="Debugging with GDB: Tracepoints">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC84"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_10.html#SEC83"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 10. Tracepoints </H1>
<!--docid::SEC84::-->
<P>
<A NAME="IDX523"></A>
In some applications, it is not feasible for the debugger to interrupt
the program's execution long enough for the developer to learn
anything helpful about its behavior. If the program's correctness
depends on its real-time behavior, delays introduced by a debugger
might cause the program to change its behavior drastically, or perhaps
fail, even when the code itself is correct. It is useful to be able
to observe the program's behavior without interrupting it.
</P><P>
Using GDB's <CODE>trace</CODE> and <CODE>collect</CODE> commands, you can
specify locations in the program, called <EM>tracepoints</EM>, and
arbitrary expressions to evaluate when those tracepoints are reached.
Later, using the <CODE>tfind</CODE> command, you can examine the values
those expressions had when the program hit the tracepoints. The
expressions may also denote objects in memory--structures or arrays,
for example--whose values GDB should record; while visiting
a particular tracepoint, you may inspect those objects as if they were
in memory at that moment. However, because GDB records these
values without interacting with you, it can do so quickly and
unobtrusively, hopefully not disturbing the program's behavior.
</P><P>
The tracepoint facility is currently available only for remote
targets. See section <A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A>. In addition, your remote target must know
how to collect trace data. This functionality is implemented in the
remote stub; however, none of the stubs distributed with GDB
support tracepoints as of this writing. The format of the remote
packets used to implement tracepoints are described in <A HREF="gdb_33.html#SEC700">D.6 Tracepoint Packets</A>.
</P><P>
This chapter describes the tracepoint commands and features.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC85">10.1 Commands to Set Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC92">10.2 Using the Collected Data</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Set Tracepoints"></A>
<HR SIZE="6">
<A NAME="SEC85"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC86"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.1 Commands to Set Tracepoints </H2>
<!--docid::SEC85::-->
<P>
Before running such a <EM>trace experiment</EM>, an arbitrary number of
tracepoints can be set. Like a breakpoint (see section <A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A>), a
tracepoint has a number assigned to it by GDB. Like with
breakpoints, tracepoint numbers are successive integers starting from
one. Many of the commands associated with tracepoints take the
tracepoint number as their argument, to identify which tracepoint to
work on.
</P><P>
For each tracepoint, you can specify, in advance, some arbitrary set
of data that you want the target to collect in the trace buffer when
it hits that tracepoint. The collected data can include registers,
local variables, or global data. Later, you can use GDB
commands to examine the values these data had at the time the
tracepoint was hit.
</P><P>
This section describes commands to set tracepoints and associated
conditions and actions.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC87">10.1.2 Enable and Disable Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC88">10.1.3 Tracepoint Passcounts</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC90">10.1.5 Listing Tracepoints</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Create and Delete Tracepoints"></A>
<HR SIZE="6">
<A NAME="SEC86"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC87"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.1 Create and Delete Tracepoints </H3>
<!--docid::SEC86::-->
<P>
<DL COMPACT>
<A NAME="IDX524"></A>
<A NAME="IDX525"></A>
<DT><CODE>trace</CODE>
<DD>The <CODE>trace</CODE> command is very similar to the <CODE>break</CODE> command.
Its argument can be a source line, a function name, or an address in
the target program. See section <A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A>. The <CODE>trace</CODE> command
defines a tracepoint, which is a point in the target program where the
debugger will briefly stop, collect some data, and then allow the
program to continue. Setting a tracepoint or changing its commands
doesn't take effect until the next <CODE>tstart</CODE> command; thus, you
cannot change the tracepoint attributes once a trace experiment is
running.
<P>
Here are some examples of using the <CODE>trace</CODE> command:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>trace foo.c:121</B> // a source file and line number
(gdb) <B>trace +2</B> // 2 lines forward
(gdb) <B>trace my_function</B> // first source line of function
(gdb) <B>trace *my_function</B> // EXACT start address of function
(gdb) <B>trace *0x2117c4</B> // an address
</FONT></pre></td></tr></table></P><P>
You can abbreviate <CODE>trace</CODE> as <CODE>tr</CODE>.
</P><P>
<A NAME="IDX526"></A>
<A NAME="IDX527"></A>
<A NAME="IDX528"></A>
<A NAME="IDX529"></A>
The convenience variable <CODE>$tpnum</CODE> records the tracepoint number
of the most recently set tracepoint.
</P><P>
<A NAME="IDX530"></A>
<A NAME="IDX531"></A>
<DT><CODE>delete tracepoint [<VAR>num</VAR>]</CODE>
<DD>Permanently delete one or more tracepoints. With no argument, the
default is to delete all tracepoints.
<P>
Examples:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>delete trace 1 2 3</B> // remove three tracepoints
(gdb) <B>delete trace</B> // remove all tracepoints
</FONT></pre></td></tr></table></P><P>
You can abbreviate this command as <CODE>del tr</CODE>.
</DL>
<P>
<A NAME="Enable and Disable Tracepoints"></A>
<HR SIZE="6">
<A NAME="SEC87"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC86"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC88"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC88"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.2 Enable and Disable Tracepoints </H3>
<!--docid::SEC87::-->
<P>
<DL COMPACT>
<A NAME="IDX532"></A>
<DT><CODE>disable tracepoint [<VAR>num</VAR>]</CODE>
<DD>Disable tracepoint <VAR>num</VAR>, or all tracepoints if no argument
<VAR>num</VAR> is given. A disabled tracepoint will have no effect during
the next trace experiment, but it is not forgotten. You can re-enable
a disabled tracepoint using the <CODE>enable tracepoint</CODE> command.
<P>
<A NAME="IDX533"></A>
<DT><CODE>enable tracepoint [<VAR>num</VAR>]</CODE>
<DD>Enable tracepoint <VAR>num</VAR>, or all tracepoints. The enabled
tracepoints will become effective the next time a trace experiment is
run.
</DL>
<P>
<A NAME="Tracepoint Passcounts"></A>
<HR SIZE="6">
<A NAME="SEC88"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC87"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC89"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC89"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.3 Tracepoint Passcounts </H3>
<!--docid::SEC88::-->
<P>
<DL COMPACT>
<A NAME="IDX534"></A>
<A NAME="IDX535"></A>
<DT><CODE>passcount [<VAR>n</VAR> [<VAR>num</VAR>]]</CODE>
<DD>Set the <EM>passcount</EM> of a tracepoint. The passcount is a way to
automatically stop a trace experiment. If a tracepoint's passcount is
<VAR>n</VAR>, then the trace experiment will be automatically stopped on
the <VAR>n</VAR>'th time that tracepoint is hit. If the tracepoint number
<VAR>num</VAR> is not specified, the <CODE>passcount</CODE> command sets the
passcount of the most recently defined tracepoint. If no passcount is
given, the trace experiment will run until stopped explicitly by the
user.
<P>
Examples:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>passcount 5 2</B> // Stop on the 5th execution of
<CODE>// tracepoint 2</CODE>
(gdb) <B>passcount 12</B> // Stop on the 12th execution of the
<CODE>// most recently defined tracepoint.</CODE>
(gdb) <B>trace foo</B>
(gdb) <B>pass 3</B>
(gdb) <B>trace bar</B>
(gdb) <B>pass 2</B>
(gdb) <B>trace baz</B>
(gdb) <B>pass 1</B> // Stop tracing when foo has been
<CODE>// executed 3 times OR when bar has</CODE>
<CODE>// been executed 2 times</CODE>
<CODE>// OR when baz has been executed 1 time.</CODE>
</FONT></pre></td></tr></table></DL>
<P>
<A NAME="Tracepoint Actions"></A>
<HR SIZE="6">
<A NAME="SEC89"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC88"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC90"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC90"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.4 Tracepoint Action Lists </H3>
<!--docid::SEC89::-->
<P>
<DL COMPACT>
<A NAME="IDX536"></A>
<A NAME="IDX537"></A>
<DT><CODE>actions [<VAR>num</VAR>]</CODE>
<DD>This command will prompt for a list of actions to be taken when the
tracepoint is hit. If the tracepoint number <VAR>num</VAR> is not
specified, this command sets the actions for the one that was most
recently defined (so that you can define a tracepoint and then say
<CODE>actions</CODE> without bothering about its number). You specify the
actions themselves on the following lines, one action at a time, and
terminate the actions list with a line containing just <CODE>end</CODE>. So
far, the only defined actions are <CODE>collect</CODE> and
<CODE>while-stepping</CODE>.
<P>
<A NAME="IDX538"></A>
To remove all actions from a tracepoint, type <SAMP>`actions <VAR>num</VAR>'</SAMP>
and follow it immediately with <SAMP>`end'</SAMP>.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>collect <VAR>data</VAR></B> // collect some data
(gdb) <B>while-stepping 5</B> // single-step 5 times, collect data
(gdb) <B>end</B> // signals the end of actions.
</FONT></pre></td></tr></table></P><P>
In the following example, the action list begins with <CODE>collect</CODE>
commands indicating the things to be collected when the tracepoint is
hit. Then, in order to single-step and collect additional data
following the tracepoint, a <CODE>while-stepping</CODE> command is used,
followed by the list of things to be collected while stepping. The
<CODE>while-stepping</CODE> command is terminated by its own separate
<CODE>end</CODE> command. Lastly, the action list is terminated by an
<CODE>end</CODE> command.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>trace foo</B>
(gdb) <B>actions</B>
Enter actions for tracepoint 1, one per line:
&#62; collect bar,baz
&#62; collect $regs
&#62; while-stepping 12
&#62; collect $fp, $sp
&#62; end
end
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX539"></A>
<DT><CODE>collect <VAR>expr1</VAR>, <VAR>expr2</VAR>, <small>...</small></CODE>
<DD>Collect values of the given expressions when the tracepoint is hit.
This command accepts a comma-separated list of any valid expressions.
In addition to global, static, or local variables, the following
special arguments are supported:
<P>
<DL COMPACT>
<DT><CODE>$regs</CODE>
<DD>collect all registers
<P>
<DT><CODE>$args</CODE>
<DD>collect all function arguments
<P>
<DT><CODE>$locals</CODE>
<DD>collect all local variables.
</DL>
<P>
You can give several consecutive <CODE>collect</CODE> commands, each one
with a single argument, or one <CODE>collect</CODE> command with several
arguments separated by commas: the effect is the same.
</P><P>
The command <CODE>info scope</CODE> (see section <A HREF="gdb_14.html#SEC146">info scope</A>) is
particularly useful for figuring out what data to collect.
</P><P>
<A NAME="IDX540"></A>
<DT><CODE>while-stepping <VAR>n</VAR></CODE>
<DD>Perform <VAR>n</VAR> single-step traces after the tracepoint, collecting
new data at each step. The <CODE>while-stepping</CODE> command is
followed by the list of what to collect while stepping (followed by
its own <CODE>end</CODE> command):
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#62; while-stepping 12
&#62; collect $regs, myglobal
&#62; end
&#62;
</FONT></pre></td></tr></table></P><P>
You may abbreviate <CODE>while-stepping</CODE> as <CODE>ws</CODE> or
<CODE>stepping</CODE>.
</DL>
<P>
<A NAME="Listing Tracepoints"></A>
<HR SIZE="6">
<A NAME="SEC90"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC89"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC91"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC91"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.5 Listing Tracepoints </H3>
<!--docid::SEC90::-->
<P>
<DL COMPACT>
<A NAME="IDX541"></A>
<A NAME="IDX542"></A>
<A NAME="IDX543"></A>
<DT><CODE>info tracepoints [<VAR>num</VAR>]</CODE>
<DD>Display information about the tracepoint <VAR>num</VAR>. If you don't specify
a tracepoint number, displays information about all the tracepoints
defined so far. For each tracepoint, the following information is
shown:
<P>
<UL>
<LI>
its number
<LI>
whether it is enabled or disabled
<LI>
its address
<LI>
its passcount as given by the <CODE>passcount <VAR>n</VAR></CODE> command
<LI>
its step count as given by the <CODE>while-stepping <VAR>n</VAR></CODE> command
<LI>
where in the source files is the tracepoint set
<LI>
its action list as given by the <CODE>actions</CODE> command
</UL>
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>info trace</B>
Num Enb Address PassC StepC What
1 y 0x002117c4 0 0 &#60;gdb_asm&#62;
2 y 0x0020dc64 0 0 in g_test at g_test.c:1375
3 y 0x0020b1f4 0 0 in get_data at ../foo.c:41
(gdb)
</FONT></pre></td></tr></table></P><P>
This command can be abbreviated <CODE>info tp</CODE>.
</DL>
<P>
<A NAME="Starting and Stopping Trace Experiments"></A>
<HR SIZE="6">
<A NAME="SEC91"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC90"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC85"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.1.6 Starting and Stopping Trace Experiments </H3>
<!--docid::SEC91::-->
<P>
<DL COMPACT>
<A NAME="IDX544"></A>
<A NAME="IDX545"></A>
<A NAME="IDX546"></A>
<DT><CODE>tstart</CODE>
<DD>This command takes no arguments. It starts the trace experiment, and
begins collecting data. This has the side effect of discarding all
the data collected in the trace buffer during the previous trace
experiment.
<P>
<A NAME="IDX547"></A>
<A NAME="IDX548"></A>
<DT><CODE>tstop</CODE>
<DD>This command takes no arguments. It ends the trace experiment, and
stops collecting data.
<P>
<STRONG>Note</STRONG>: a trace experiment and data collection may stop
automatically if any tracepoint's passcount is reached
(see section <A HREF="gdb_11.html#SEC88">10.1.3 Tracepoint Passcounts</A>), or if the trace buffer becomes full.
</P><P>
<A NAME="IDX549"></A>
<A NAME="IDX550"></A>
<A NAME="IDX551"></A>
<DT><CODE>tstatus</CODE>
<DD>This command displays the status of the current trace data
collection.
</DL>
<P>
Here is an example of the commands we described so far:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>trace gdb_c_test</B>
(gdb) <B>actions</B>
Enter actions for tracepoint #1, one per line.
&#62; collect $regs,$locals,$args
&#62; while-stepping 11
&#62; collect $regs
&#62; end
&#62; end
(gdb) <B>tstart</B>
[time passes <small>...</small>]
(gdb) <B>tstop</B>
</FONT></pre></td></tr></table></P><P>
<A NAME="Analyze Collected Data"></A>
<HR SIZE="6">
<A NAME="SEC92"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC91"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC93"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.2 Using the Collected Data </H2>
<!--docid::SEC92::-->
<P>
After the tracepoint experiment ends, you use GDB commands
for examining the trace data. The basic idea is that each tracepoint
collects a trace <EM>snapshot</EM> every time it is hit and another
snapshot every time it single-steps. All these snapshots are
consecutively numbered from zero and go into a buffer, and you can
examine them later. The way you examine them is to <EM>focus</EM> on a
specific trace snapshot. When the remote stub is focused on a trace
snapshot, it will respond to all GDB requests for memory and
registers by reading from the buffer which belongs to that snapshot,
rather than from <EM>real</EM> memory or registers of the program being
debugged. This means that <STRONG>all</STRONG> GDB commands
(<CODE>print</CODE>, <CODE>info registers</CODE>, <CODE>backtrace</CODE>, etc.) will
behave as if we were currently debugging the program state as it was
when the tracepoint occurred. Any requests for data that are not in
the buffer will fail.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC93">10.2.1 <CODE>tfind <VAR>n</VAR></CODE></A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to select a trace snapshot</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC94">10.2.2 <CODE>tdump</CODE></A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to display all data for a snapshot</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_11.html#SEC95">10.2.3 <CODE>save-tracepoints <VAR>filename</VAR></CODE></A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to save tracepoints for a future run</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="tfind"></A>
<HR SIZE="6">
<A NAME="SEC93"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC94"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.2.1 <CODE>tfind <VAR>n</VAR></CODE> </H3>
<!--docid::SEC93::-->
<P>
<A NAME="IDX552"></A>
<A NAME="IDX553"></A>
<A NAME="IDX554"></A>
The basic command for selecting a trace snapshot from the buffer is
<CODE>tfind <VAR>n</VAR></CODE>, which finds trace snapshot number <VAR>n</VAR>,
counting from zero. If no argument <VAR>n</VAR> is given, the next
snapshot is selected.
</P><P>
Here are the various forms of using the <CODE>tfind</CODE> command.
</P><P>
<DL COMPACT>
<DT><CODE>tfind start</CODE>
<DD>Find the first snapshot in the buffer. This is a synonym for
<CODE>tfind 0</CODE> (since 0 is the number of the first snapshot).
<P>
<DT><CODE>tfind none</CODE>
<DD>Stop debugging trace snapshots, resume <EM>live</EM> debugging.
<P>
<DT><CODE>tfind end</CODE>
<DD>Same as <SAMP>`tfind none'</SAMP>.
<P>
<DT><CODE>tfind</CODE>
<DD>No argument means find the next trace snapshot.
<P>
<DT><CODE>tfind -</CODE>
<DD>Find the previous trace snapshot before the current one. This permits
retracing earlier steps.
<P>
<DT><CODE>tfind tracepoint <VAR>num</VAR></CODE>
<DD>Find the next snapshot associated with tracepoint <VAR>num</VAR>. Search
proceeds forward from the last examined trace snapshot. If no
argument <VAR>num</VAR> is given, it means find the next snapshot collected
for the same tracepoint as the current snapshot.
<P>
<DT><CODE>tfind pc <VAR>addr</VAR></CODE>
<DD>Find the next snapshot associated with the value <VAR>addr</VAR> of the
program counter. Search proceeds forward from the last examined trace
snapshot. If no argument <VAR>addr</VAR> is given, it means find the next
snapshot with the same value of PC as the current snapshot.
<P>
<DT><CODE>tfind outside <VAR>addr1</VAR>, <VAR>addr2</VAR></CODE>
<DD>Find the next snapshot whose PC is outside the given range of
addresses.
<P>
<DT><CODE>tfind range <VAR>addr1</VAR>, <VAR>addr2</VAR></CODE>
<DD>Find the next snapshot whose PC is between <VAR>addr1</VAR> and
<VAR>addr2</VAR>.
<P>
<DT><CODE>tfind line [<VAR>file</VAR>:]<VAR>n</VAR></CODE>
<DD>Find the next snapshot associated with the source line <VAR>n</VAR>. If
the optional argument <VAR>file</VAR> is given, refer to line <VAR>n</VAR> in
that source file. Search proceeds forward from the last examined
trace snapshot. If no argument <VAR>n</VAR> is given, it means find the
next line other than the one currently being examined; thus saying
<CODE>tfind line</CODE> repeatedly can appear to have the same effect as
stepping from line to line in a <EM>live</EM> debugging session.
</DL>
<P>
The default arguments for the <CODE>tfind</CODE> commands are specifically
designed to make it easy to scan through the trace buffer. For
instance, <CODE>tfind</CODE> with no argument selects the next trace
snapshot, and <CODE>tfind -</CODE> with no argument selects the previous
trace snapshot. So, by giving one <CODE>tfind</CODE> command, and then
simply hitting <KBD>RET</KBD> repeatedly you can examine all the trace
snapshots in order. Or, by saying <CODE>tfind -</CODE> and then hitting
<KBD>RET</KBD> repeatedly you can examine the snapshots in reverse order.
The <CODE>tfind line</CODE> command with no argument selects the snapshot
for the next source line executed. The <CODE>tfind pc</CODE> command with
no argument selects the next snapshot with the same program counter
(PC) as the current frame. The <CODE>tfind tracepoint</CODE> command with
no argument selects the next trace snapshot collected by the same
tracepoint as the current one.
</P><P>
In addition to letting you scan through the trace buffer manually,
these commands make it easy to construct GDB scripts that
scan through the trace buffer and print out whatever collected data
you are interested in. Thus, if we want to examine the PC, FP, and SP
registers from each trace frame in the buffer, we can say this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>tfind start</B>
(gdb) <B>while ($trace_frame != -1)</B>
&#62; printf "Frame %d, PC = %08X, SP = %08X, FP = %08X\n", \
$trace_frame, $pc, $sp, $fp
&#62; tfind
&#62; end
Frame 0, PC = 0020DC64, SP = 0030BF3C, FP = 0030BF44
Frame 1, PC = 0020DC6C, SP = 0030BF38, FP = 0030BF44
Frame 2, PC = 0020DC70, SP = 0030BF34, FP = 0030BF44
Frame 3, PC = 0020DC74, SP = 0030BF30, FP = 0030BF44
Frame 4, PC = 0020DC78, SP = 0030BF2C, FP = 0030BF44
Frame 5, PC = 0020DC7C, SP = 0030BF28, FP = 0030BF44
Frame 6, PC = 0020DC80, SP = 0030BF24, FP = 0030BF44
Frame 7, PC = 0020DC84, SP = 0030BF20, FP = 0030BF44
Frame 8, PC = 0020DC88, SP = 0030BF1C, FP = 0030BF44
Frame 9, PC = 0020DC8E, SP = 0030BF18, FP = 0030BF44
Frame 10, PC = 00203F6C, SP = 0030BE3C, FP = 0030BF14
</FONT></pre></td></tr></table></P><P>
Or, if we want to examine the variable <CODE>X</CODE> at each source line in
the buffer:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>tfind start</B>
(gdb) <B>while ($trace_frame != -1)</B>
&#62; printf "Frame %d, X == %d\n", $trace_frame, X
&#62; tfind line
&#62; end
Frame 0, X = 1
Frame 7, X = 2
Frame 13, X = 255
</FONT></pre></td></tr></table></P><P>
<A NAME="tdump"></A>
<HR SIZE="6">
<A NAME="SEC94"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC93"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC95"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC95"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.2.2 <CODE>tdump</CODE> </H3>
<!--docid::SEC94::-->
<P>
This command takes no arguments. It prints all the data collected at
the current trace snapshot.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>trace 444</B>
(gdb) <B>actions</B>
Enter actions for tracepoint #2, one per line:
&#62; collect $regs, $locals, $args, gdb_long_test
&#62; end
(gdb) <B>tstart</B>
(gdb) <B>tfind line 444</B>
#0 gdb_test (p1=0x11, p2=0x22, p3=0x33, p4=0x44, p5=0x55, p6=0x66)
at gdb_test.c:444
444 printp( "%s: arguments = 0x%X 0x%X 0x%X 0x%X 0x%X 0x%X\n", )
(gdb) <B>tdump</B>
Data collected at tracepoint 2, trace frame 1:
d0 0xc4aa0085 -995491707
d1 0x18 24
d2 0x80 128
d3 0x33 51
d4 0x71aea3d 119204413
d5 0x22 34
d6 0xe0 224
d7 0x380035 3670069
a0 0x19e24a 1696330
a1 0x3000668 50333288
a2 0x100 256
a3 0x322000 3284992
a4 0x3000698 50333336
a5 0x1ad3cc 1758156
fp 0x30bf3c 0x30bf3c
sp 0x30bf34 0x30bf34
ps 0x0 0
pc 0x20b2c8 0x20b2c8
fpcontrol 0x0 0
fpstatus 0x0 0
fpiaddr 0x0 0
p = 0x20e5b4 "gdb-test"
p1 = (void *) 0x11
p2 = (void *) 0x22
p3 = (void *) 0x33
p4 = (void *) 0x44
p5 = (void *) 0x55
p6 = (void *) 0x66
gdb_long_test = 17 '\021'
(gdb)
</FONT></pre></td></tr></table></P><P>
<A NAME="save-tracepoints"></A>
<HR SIZE="6">
<A NAME="SEC95"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC94"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC92"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 10.2.3 <CODE>save-tracepoints <VAR>filename</VAR></CODE> </H3>
<!--docid::SEC95::-->
<P>
This command saves all current tracepoint definitions together with
their actions and passcounts, into a file <TT>`<VAR>filename</VAR>'</TT>
suitable for use in a later debugging session. To read the saved
tracepoint definitions, use the <CODE>source</CODE> command (see section <A HREF="gdb_21.html#SEC232">20.3 Command Files</A>).
</P><P>
<A NAME="Tracepoint Variables"></A>
<HR SIZE="6">
<A NAME="SEC96"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC95"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.3 Convenience Variables for Tracepoints </H2>
<!--docid::SEC96::-->
<P>
<DL COMPACT>
<A NAME="IDX555"></A>
<DT><CODE>(int) $trace_frame</CODE>
<DD>The current trace snapshot (a.k.a. <EM>frame</EM>) number, or -1 if no
snapshot is selected.
<P>
<A NAME="IDX556"></A>
<DT><CODE>(int) $tracepoint</CODE>
<DD>The tracepoint for the current trace snapshot.
<P>
<A NAME="IDX557"></A>
<DT><CODE>(int) $trace_line</CODE>
<DD>The line number for the current trace snapshot.
<P>
<A NAME="IDX558"></A>
<DT><CODE>(char []) $trace_file</CODE>
<DD>The source file for the current trace snapshot.
<P>
<A NAME="IDX559"></A>
<DT><CODE>(char []) $trace_func</CODE>
<DD>The name of the function containing <CODE>$tracepoint</CODE>.
</DL>
<P>
Note: <CODE>$trace_file</CODE> is not suitable for use in <CODE>printf</CODE>,
use <CODE>output</CODE> instead.
</P><P>
Here's a simple example of using these convenience variables for
stepping through all the trace snapshots and printing some of their
data.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>tfind start</B>
(gdb) <B>while $trace_frame != -1</B>
&#62; output $trace_file
&#62; printf ", line %d (tracepoint #%d)\n", $trace_line, $tracepoint
&#62; tfind
&#62; end
</FONT></pre></td></tr></table></P><P>
<A NAME="Overlays"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC84"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,540 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Overlays</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Overlays">
<META NAME="keywords" CONTENT="Debugging with GDB: Overlays">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC97"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_11.html#SEC96"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC98"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 11. Debugging Programs That Use Overlays </H1>
<!--docid::SEC97::-->
<P>
If your program is too large to fit completely in your target system's
memory, you can sometimes use <EM>overlays</EM> to work around this
problem. GDB provides some support for debugging programs that
use overlays.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A general explanation of overlays.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Managing overlays in GDB.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_12.html#SEC100">11.3 Automatic Overlay Debugging</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GDB can find out which overlays are
mapped by asking the inferior.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_12.html#SEC101">11.4 Overlay Sample Program</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A sample program using overlays.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="How Overlays Work"></A>
<HR SIZE="6">
<A NAME="SEC98"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC99"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 11.1 How Overlays Work </H2>
<!--docid::SEC98::-->
<P>
Suppose you have a computer whose instruction address space is only 64
kilobytes long, but which has much more memory which can be accessed by
other means: special instructions, segment registers, or memory
management hardware, for example. Suppose further that you want to
adapt a program which is larger than 64 kilobytes to run on this system.
</P><P>
One solution is to identify modules of your program which are relatively
independent, and need not call each other directly; call these modules
<EM>overlays</EM>. Separate the overlays from the main program, and place
their machine code in the larger memory. Place your main program in
instruction memory, but leave at least enough space there to hold the
largest overlay as well.
</P><P>
Now, to call a function located in an overlay, you must first copy that
overlay's machine code from the large memory into the space set aside
for it in the instruction memory, and then jump to its entry point
there.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Data Instruction Larger
Address Space Address Space Address Space
+-----------+ +-----------+ +-----------+
| | | | | |
+-----------+ +-----------+ +-----------+&#60;-- overlay 1
| program | | main | .----| overlay 1 | load address
| variables | | program | | +-----------+
| and heap | | | | | |
+-----------+ | | | +-----------+&#60;-- overlay 2
| | +-----------+ | | | load address
+-----------+ | | | .-| overlay 2 |
| | | | | |
mapped ---&#62;+-----------+ | | +-----------+
address | | | | | |
| overlay | &#60;-' | | |
| area | &#60;---' +-----------+&#60;-- overlay 3
| | &#60;---. | | load address
+-----------+ `--| overlay 3 |
| | | |
+-----------+ | |
+-----------+
| |
+-----------+
<A NAME="A code overlay"></A>
A code overlay
</FONT></pre></td></tr></table></P><P>
The diagram (see <A HREF="gdb_12.html#A code overlay">A code overlay</A>) shows a system with separate data
and instruction address spaces. To map an overlay, the program copies
its code from the larger address space to the instruction address space.
Since the overlays shown here all use the same mapped address, only one
may be mapped at a time. For a system with a single address space for
data and instructions, the diagram would be similar, except that the
program variables and heap would share an address space with the main
program and the overlay area.
</P><P>
An overlay loaded into instruction memory and ready for use is called a
<EM>mapped</EM> overlay; its <EM>mapped address</EM> is its address in the
instruction memory. An overlay not present (or only partially present)
in instruction memory is called <EM>unmapped</EM>; its <EM>load address</EM>
is its address in the larger memory. The mapped address is also called
the <EM>virtual memory address</EM>, or <EM>VMA</EM>; the load address is also
called the <EM>load memory address</EM>, or <EM>LMA</EM>.
</P><P>
Unfortunately, overlays are not a completely transparent way to adapt a
program to limited instruction memory. They introduce a new set of
global constraints you must keep in mind as you design your program:
</P><P>
<UL>
<LI>
Before calling or returning to a function in an overlay, your program
must make sure that overlay is actually mapped. Otherwise, the call or
return will transfer control to the right address, but in the wrong
overlay, and your program will probably crash.
<P>
<LI>
If the process of mapping an overlay is expensive on your system, you
will need to choose your overlays carefully to minimize their effect on
your program's performance.
<P>
<LI>
The executable file you load onto your system must contain each
overlay's instructions, appearing at the overlay's load address, not its
mapped address. However, each overlay's instructions must be relocated
and its symbols defined as if the overlay were at its mapped address.
You can use GNU linker scripts to specify different load and relocation
addresses for pieces of your program; see section `Overlay Description' in <CITE>Using ld: the GNU linker</CITE>.
<P>
<LI>
The procedure for loading executable files onto your system must be able
to load their contents into the larger address space as well as the
instruction and data spaces.
<P>
</UL>
<P>
The overlay system described above is rather simple, and could be
improved in many ways:
</P><P>
<UL>
<LI>
If your system has suitable bank switch registers or memory management
hardware, you could use those facilities to make an overlay's load area
contents simply appear at their mapped address in instruction space.
This would probably be faster than copying the overlay to its mapped
area in the usual way.
<P>
<LI>
If your overlays are small enough, you could set aside more than one
overlay area, and have more than one overlay mapped at a time.
<P>
<LI>
You can use overlays to manage data, as well as instructions. In
general, data overlays are even less transparent to your design than
code overlays: whereas code overlays only require care when you call or
return to functions, data overlays require care every time you access
the data. Also, if you change the contents of a data overlay, you
must copy its contents back out to its load address before you can copy a
different data overlay into the same mapped area.
<P>
</UL>
<P>
<A NAME="Overlay Commands"></A>
<HR SIZE="6">
<A NAME="SEC99"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC98"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC100"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC100"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 11.2 Overlay Commands </H2>
<!--docid::SEC99::-->
<P>
To use GDB's overlay support, each overlay in your program must
correspond to a separate section of the executable file. The section's
virtual memory address and load memory address must be the overlay's
mapped and load addresses. Identifying overlays with sections allows
GDB to determine the appropriate address of a function or
variable, depending on whether the overlay is mapped or not.
</P><P>
GDB's overlay commands all start with the word <CODE>overlay</CODE>;
you can abbreviate this as <CODE>ov</CODE> or <CODE>ovly</CODE>. The commands are:
</P><P>
<DL COMPACT>
<DT><CODE>overlay off</CODE>
<DD><A NAME="IDX560"></A>
Disable GDB's overlay support. When overlay support is
disabled, GDB assumes that all functions and variables are
always present at their mapped addresses. By default, GDB's
overlay support is disabled.
<P>
<DT><CODE>overlay manual</CODE>
<DD><A NAME="IDX561"></A>
Enable <EM>manual</EM> overlay debugging. In this mode, GDB
relies on you to tell it which overlays are mapped, and which are not,
using the <CODE>overlay map-overlay</CODE> and <CODE>overlay unmap-overlay</CODE>
commands described below.
<P>
<DT><CODE>overlay map-overlay <VAR>overlay</VAR></CODE>
<DD><DT><CODE>overlay map <VAR>overlay</VAR></CODE>
<DD><A NAME="IDX562"></A>
Tell GDB that <VAR>overlay</VAR> is now mapped; <VAR>overlay</VAR> must
be the name of the object file section containing the overlay. When an
overlay is mapped, GDB assumes it can find the overlay's
functions and variables at their mapped addresses. GDB assumes
that any other overlays whose mapped ranges overlap that of
<VAR>overlay</VAR> are now unmapped.
<P>
<DT><CODE>overlay unmap-overlay <VAR>overlay</VAR></CODE>
<DD><DT><CODE>overlay unmap <VAR>overlay</VAR></CODE>
<DD><A NAME="IDX563"></A>
Tell GDB that <VAR>overlay</VAR> is no longer mapped; <VAR>overlay</VAR>
must be the name of the object file section containing the overlay.
When an overlay is unmapped, GDB assumes it can find the
overlay's functions and variables at their load addresses.
<P>
<DT><CODE>overlay auto</CODE>
<DD>Enable <EM>automatic</EM> overlay debugging. In this mode, GDB
consults a data structure the overlay manager maintains in the inferior
to see which overlays are mapped. For details, see <A HREF="gdb_12.html#SEC100">11.3 Automatic Overlay Debugging</A>.
<P>
<DT><CODE>overlay load-target</CODE>
<DD><DT><CODE>overlay load</CODE>
<DD><A NAME="IDX564"></A>
Re-read the overlay table from the inferior. Normally, GDB
re-reads the table GDB automatically each time the inferior
stops, so this command should only be necessary if you have changed the
overlay mapping yourself using GDB. This command is only
useful when using automatic overlay debugging.
<P>
<DT><CODE>overlay list-overlays</CODE>
<DD><DT><CODE>overlay list</CODE>
<DD><A NAME="IDX565"></A>
Display a list of the overlays currently mapped, along with their mapped
addresses, load addresses, and sizes.
<P>
</DL>
<P>
Normally, when GDB prints a code address, it includes the name
of the function the address falls in:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) print main
$3 = {int ()} 0x11a0 &#60;main&#62;
</FONT></pre></td></tr></table>When overlay debugging is enabled, GDB recognizes code in
unmapped overlays, and prints the names of unmapped functions with
asterisks around them. For example, if <CODE>foo</CODE> is a function in an
unmapped overlay, GDB prints it this way:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) overlay list
No sections are mapped.
(gdb) print foo
$5 = {int (int)} 0x100000 &#60;*foo*&#62;
</FONT></pre></td></tr></table>When <CODE>foo</CODE>'s overlay is mapped, GDB prints the function's
name normally:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) overlay list
Section .ov.foo.text, loaded at 0x100000 - 0x100034,
mapped at 0x1016 - 0x104a
(gdb) print foo
$6 = {int (int)} 0x1016 &#60;foo&#62;
</FONT></pre></td></tr></table></P><P>
When overlay debugging is enabled, GDB can find the correct
address for functions and variables in an overlay, whether or not the
overlay is mapped. This allows most GDB commands, like
<CODE>break</CODE> and <CODE>disassemble</CODE>, to work normally, even on unmapped
code. However, GDB's breakpoint support has some limitations:
</P><P>
<UL>
<LI>
<A NAME="IDX566"></A>
<A NAME="IDX567"></A>
You can set breakpoints in functions in unmapped overlays, as long as
GDB can write to the overlay at its load address.
<LI>
GDB can not set hardware or simulator-based breakpoints in
unmapped overlays. However, if you set a breakpoint at the end of your
overlay manager (and tell GDB which overlays are now mapped, if
you are using manual overlay management), GDB will re-set its
breakpoints properly.
</UL>
<P>
<A NAME="Automatic Overlay Debugging"></A>
<HR SIZE="6">
<A NAME="SEC100"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC99"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC101"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC101"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 11.3 Automatic Overlay Debugging </H2>
<!--docid::SEC100::-->
<P>
GDB can automatically track which overlays are mapped and which
are not, given some simple co-operation from the overlay manager in the
inferior. If you enable automatic overlay debugging with the
<CODE>overlay auto</CODE> command (see section <A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A>), GDB
looks in the inferior's memory for certain variables describing the
current state of the overlays.
</P><P>
Here are the variables your overlay manager must define to support
GDB's automatic overlay debugging:
</P><P>
<DL COMPACT>
<DT><CODE>_ovly_table</CODE>:
<DD>This variable must be an array of the following structures:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>struct
{
/* The overlay's mapped address. */
unsigned long vma;
/* The size of the overlay, in bytes. */
unsigned long size;
/* The overlay's load address. */
unsigned long lma;
/* Non-zero if the overlay is currently mapped;
zero otherwise. */
unsigned long mapped;
}
</FONT></pre></td></tr></table></P><P>
<DT><CODE>_novlys</CODE>:
<DD>This variable must be a four-byte signed integer, holding the total
number of elements in <CODE>_ovly_table</CODE>.
<P>
</DL>
<P>
To decide whether a particular overlay is mapped or not, GDB
looks for an entry in <CODE>_ovly_table</CODE> whose <CODE>vma</CODE> and
<CODE>lma</CODE> members equal the VMA and LMA of the overlay's section in the
executable file. When GDB finds a matching entry, it consults
the entry's <CODE>mapped</CODE> member to determine whether the overlay is
currently mapped.
</P><P>
In addition, your overlay manager may define a function called
<CODE>_ovly_debug_event</CODE>. If this function is defined, GDB
will silently set a breakpoint there. If the overlay manager then
calls this function whenever it has changed the overlay table, this
will enable GDB to accurately keep track of which overlays
are in program memory, and update any breakpoints that may be set
in overlays. This will allow breakpoints to work even if the
overlays are kept in ROM or other non-writable memory while they
are not being executed.
</P><P>
<A NAME="Overlay Sample Program"></A>
<HR SIZE="6">
<A NAME="SEC101"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC100"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 11.4 Overlay Sample Program </H2>
<!--docid::SEC101::-->
<P>
When linking a program which uses overlays, you must place the overlays
at their load addresses, while relocating them to run at their mapped
addresses. To do this, you must write a linker script (see section `Overlay Description' in <CITE>Using ld: the GNU linker</CITE>). Unfortunately,
since linker scripts are specific to a particular host system, target
architecture, and target memory layout, this manual cannot provide
portable sample code demonstrating GDB's overlay support.
</P><P>
However, the GDB source distribution does contain an overlaid
program, with linker scripts for a few systems, as part of its test
suite. The program consists of the following files from
<TT>`gdb/testsuite/gdb.base'</TT>:
</P><P>
<DL COMPACT>
<DT><TT>`overlays.c'</TT>
<DD>The main program file.
<DT><TT>`ovlymgr.c'</TT>
<DD>A simple overlay manager, used by <TT>`overlays.c'</TT>.
<DT><TT>`foo.c'</TT>
<DD><DT><TT>`bar.c'</TT>
<DD><DT><TT>`baz.c'</TT>
<DD><DT><TT>`grbx.c'</TT>
<DD>Overlay modules, loaded and used by <TT>`overlays.c'</TT>.
<DT><TT>`d10v.ld'</TT>
<DD><DT><TT>`m32r.ld'</TT>
<DD>Linker scripts for linking the test program on the <CODE>d10v-elf</CODE>
and <CODE>m32r-elf</CODE> targets.
</DL>
<P>
You can build the test program using the <CODE>d10v-elf</CODE> GCC
cross-compiler like this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ d10v-elf-gcc -g -c overlays.c
$ d10v-elf-gcc -g -c ovlymgr.c
$ d10v-elf-gcc -g -c foo.c
$ d10v-elf-gcc -g -c bar.c
$ d10v-elf-gcc -g -c baz.c
$ d10v-elf-gcc -g -c grbx.c
$ d10v-elf-gcc -g overlays.o ovlymgr.o foo.o bar.o \
baz.o grbx.o -Wl,-Td10v.ld -o overlays
</FONT></pre></td></tr></table></P><P>
The build process is identical for any other architecture, except that
you must substitute the appropriate compiler and linker script for the
target system for <CODE>d10v-elf-gcc</CODE> and <CODE>d10v.ld</CODE>.
</P><P>
<A NAME="Languages"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_12.html#SEC97"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC102"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,480 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Symbols</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Symbols">
<META NAME="keywords" CONTENT="Debugging with GDB: Symbols">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC146"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_13.html#SEC145"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 13. Examining the Symbol Table </H1>
<!--docid::SEC146::-->
<P>
The commands described in this chapter allow you to inquire about the
symbols (names of variables, functions and types) defined in your
program. This information is inherent in the text of your program and
does not change as your program executes. GDB finds it in your
program's symbol table, in the file indicated when you started GDB
(see section <A HREF="gdb_3.html#SEC8">Choosing Files</A>), or by one of the
file-management commands (see section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>).
</P><P>
<A NAME="IDX640"></A>
<A NAME="IDX641"></A>
<A NAME="IDX642"></A>
Occasionally, you may need to refer to symbols that contain unusual
characters, which GDB ordinarily treats as word delimiters. The
most frequent case is in referring to static variables in other
source files (see section <A HREF="gdb_9.html#SEC61">Program Variables</A>). File names
are recorded in object files as debugging symbols, but GDB would
ordinarily parse a typical file name, like <TT>`foo.c'</TT>, as the three words
<SAMP>`foo'</SAMP> <SAMP>`.'</SAMP> <SAMP>`c'</SAMP>. To allow GDB to recognize
<SAMP>`foo.c'</SAMP> as a single symbol, enclose it in single quotes; for example,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>p 'foo.c'::x
</FONT></pre></td></tr></table></P><P>
looks up the value of <CODE>x</CODE> in the scope of the file <TT>`foo.c'</TT>.
</P><P>
<DL COMPACT>
<A NAME="IDX643"></A>
<A NAME="IDX644"></A>
<A NAME="IDX645"></A>
<DT><CODE>set case-sensitive on</CODE>
<DD><DT><CODE>set case-sensitive off</CODE>
<DD><DT><CODE>set case-sensitive auto</CODE>
<DD>Normally, when GDB looks up symbols, it matches their names
with case sensitivity determined by the current source language.
Occasionally, you may wish to control that. The command <CODE>set
case-sensitive</CODE> lets you do that by specifying <CODE>on</CODE> for
case-sensitive matches or <CODE>off</CODE> for case-insensitive ones. If
you specify <CODE>auto</CODE>, case sensitivity is reset to the default
suitable for the source language. The default is case-sensitive
matches for all languages except for Fortran, for which the default is
case-insensitive matches.
<P>
<A NAME="IDX646"></A>
<DT><CODE>show case-sensitive</CODE>
<DD>This command shows the current setting of case sensitivity for symbols
lookups.
<P>
<A NAME="IDX647"></A>
<A NAME="IDX648"></A>
<DT><CODE>info address <VAR>symbol</VAR></CODE>
<DD>Describe where the data for <VAR>symbol</VAR> is stored. For a register
variable, this says which register it is kept in. For a non-register
local variable, this prints the stack-frame offset at which the variable
is always stored.
<P>
Note the contrast with <SAMP>`print &#38;<VAR>symbol</VAR>'</SAMP>, which does not work
at all for a register variable, and for a stack local variable prints
the exact address of the current instantiation of the variable.
</P><P>
<A NAME="IDX649"></A>
<A NAME="IDX650"></A>
<A NAME="IDX651"></A>
<DT><CODE>info symbol <VAR>addr</VAR></CODE>
<DD>Print the name of a symbol which is stored at the address <VAR>addr</VAR>.
If no symbol is stored exactly at <VAR>addr</VAR>, GDB prints the
nearest symbol and an offset from it:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info symbol 0x54320
_initialize_vx + 396 in section .text
</FONT></pre></td></tr></table></P><P>
This is the opposite of the <CODE>info address</CODE> command. You can use
it to find out the name of a variable or a function given its address.
</P><P>
<A NAME="IDX652"></A>
<DT><CODE>whatis [<VAR>arg</VAR>]</CODE>
<DD>Print the data type of <VAR>arg</VAR>, which can be either an expression or
a data type. With no argument, print the data type of <CODE>$</CODE>, the
last value in the value history. If <VAR>arg</VAR> is an expression, it is
not actually evaluated, and any side-effecting operations (such as
assignments or function calls) inside it do not take place. If
<VAR>arg</VAR> is a type name, it may be the name of a type or typedef, or
for C code it may have the form <SAMP>`class <VAR>class-name</VAR>'</SAMP>,
<SAMP>`struct <VAR>struct-tag</VAR>'</SAMP>, <SAMP>`union <VAR>union-tag</VAR>'</SAMP> or
<SAMP>`enum <VAR>enum-tag</VAR>'</SAMP>.
See section <A HREF="gdb_9.html#SEC60">Expressions</A>.
<P>
<A NAME="IDX653"></A>
<DT><CODE>ptype [<VAR>arg</VAR>]</CODE>
<DD><CODE>ptype</CODE> accepts the same arguments as <CODE>whatis</CODE>, but prints a
detailed description of the type, instead of just the name of the type.
See section <A HREF="gdb_9.html#SEC60">Expressions</A>.
<P>
For example, for this variable declaration:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>struct complex {double real; double imag;} v;
</FONT></pre></td></tr></table></P><P>
the two commands give this output:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) whatis v
type = struct complex
(gdb) ptype v
type = struct complex {
double real;
double imag;
}
</FONT></pre></td></tr></table></P><P>
As with <CODE>whatis</CODE>, using <CODE>ptype</CODE> without an argument refers to
the type of <CODE>$</CODE>, the last value in the value history.
</P><P>
<A NAME="IDX654"></A>
Sometimes, programs use opaque data types or incomplete specifications
of complex data structure. If the debug information included in the
program does not allow GDB to display a full declaration of
the data type, it will say <SAMP>`&#60;incomplete type&#62;'</SAMP>. For example,
given these declarations:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> struct foo;
struct foo *fooptr;
</FONT></pre></td></tr></table></P><P>
but no definition for <CODE>struct foo</CODE> itself, GDB will say:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> (gdb) ptype foo
$1 = &#60;incomplete type&#62;
</FONT></pre></td></tr></table></P><P>
"Incomplete type" is C terminology for data types that are not
completely specified.
</P><P>
<A NAME="IDX655"></A>
<DT><CODE>info types <VAR>regexp</VAR></CODE>
<DD><DT><CODE>info types</CODE>
<DD>Print a brief description of all types whose names match the regular
expression <VAR>regexp</VAR> (or all types in your program, if you supply
no argument). Each complete typename is matched as though it were a
complete line; thus, <SAMP>`i type value'</SAMP> gives information on all
types in your program whose names include the string <CODE>value</CODE>, but
<SAMP>`i type ^value$'</SAMP> gives information only on types whose complete
name is <CODE>value</CODE>.
<P>
This command differs from <CODE>ptype</CODE> in two ways: first, like
<CODE>whatis</CODE>, it does not print a detailed description; second, it
lists all source files where a type is defined.
</P><P>
<A NAME="IDX656"></A>
<A NAME="IDX657"></A>
<DT><CODE>info scope <VAR>location</VAR></CODE>
<DD>List all the variables local to a particular scope. This command
accepts a <VAR>location</VAR> argument--a function name, a source line, or
an address preceded by a <SAMP>`*'</SAMP>, and prints all the variables local
to the scope defined by that location. (See section <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>, for
details about supported forms of <VAR>location</VAR>.) For example:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>info scope command_line_handler</B>
Scope for command_line_handler:
Symbol rl is an argument at stack/frame offset 8, length 4.
Symbol linebuffer is in static storage at address 0x150a18, length 4.
Symbol linelength is in static storage at address 0x150a1c, length 4.
Symbol p is a local variable in register $esi, length 4.
Symbol p1 is a local variable in register $ebx, length 4.
Symbol nline is a local variable in register $edx, length 4.
Symbol repeat is a local variable at frame offset -8, length 4.
</FONT></pre></td></tr></table></P><P>
This command is especially useful for determining what data to collect
during a <EM>trace experiment</EM>, see <A HREF="gdb_11.html#SEC89">collect</A>.
</P><P>
<A NAME="IDX658"></A>
<DT><CODE>info source</CODE>
<DD>Show information about the current source file--that is, the source file for
the function containing the current point of execution:
<UL>
<LI>
the name of the source file, and the directory containing it,
<LI>
the directory it was compiled in,
<LI>
its length, in lines,
<LI>
which programming language it is written in,
<LI>
whether the executable includes debugging information for that file, and
if so, what format the information is in (e.g., STABS, Dwarf 2, etc.), and
<LI>
whether the debugging information includes information about
preprocessor macros.
</UL>
<P>
<A NAME="IDX659"></A>
<DT><CODE>info sources</CODE>
<DD>Print the names of all source files in your program for which there is
debugging information, organized into two lists: files whose symbols
have already been read, and files whose symbols will be read when needed.
<P>
<A NAME="IDX660"></A>
<DT><CODE>info functions</CODE>
<DD>Print the names and data types of all defined functions.
<P>
<DT><CODE>info functions <VAR>regexp</VAR></CODE>
<DD>Print the names and data types of all defined functions
whose names contain a match for regular expression <VAR>regexp</VAR>.
Thus, <SAMP>`info fun step'</SAMP> finds all functions whose names
include <CODE>step</CODE>; <SAMP>`info fun ^step'</SAMP> finds those whose names
start with <CODE>step</CODE>. If a function name contains characters
that conflict with the regular expression language (e.g.
<SAMP>`operator*()'</SAMP>), they may be quoted with a backslash.
<P>
<A NAME="IDX661"></A>
<DT><CODE>info variables</CODE>
<DD>Print the names and data types of all variables that are declared
outside of functions (i.e. excluding local variables).
<P>
<DT><CODE>info variables <VAR>regexp</VAR></CODE>
<DD>Print the names and data types of all variables (except for local
variables) whose names contain a match for regular expression
<VAR>regexp</VAR>.
<P>
<A NAME="IDX662"></A>
<A NAME="IDX663"></A>
<DT><CODE>info classes</CODE>
<DD><DT><CODE>info classes <VAR>regexp</VAR></CODE>
<DD>Display all Objective-C classes in your program, or
(with the <VAR>regexp</VAR> argument) all those matching a particular regular
expression.
<P>
<A NAME="IDX664"></A>
<DT><CODE>info selectors</CODE>
<DD><DT><CODE>info selectors <VAR>regexp</VAR></CODE>
<DD>Display all Objective-C selectors in your program, or
(with the <VAR>regexp</VAR> argument) all those matching a particular regular
expression.
<P>
<A NAME="IDX665"></A>
Some systems allow individual object files that make up your program to
be replaced without stopping and restarting your program. For example,
in VxWorks you can simply recompile a defective object file and keep on
running. If you are running on one of these systems, you can allow
GDB to reload the symbols for automatically relinked modules:
</P><P>
<DL COMPACT>
<A NAME="IDX666"></A>
<DT><CODE>set symbol-reloading on</CODE>
<DD>Replace symbol definitions for the corresponding source file when an
object file with a particular name is seen again.
<P>
<DT><CODE>set symbol-reloading off</CODE>
<DD>Do not replace symbol definitions when encountering object files of the
same name more than once. This is the default state; if you are not
running on a system that permits automatic relinking of modules, you
should leave <CODE>symbol-reloading</CODE> off, since otherwise GDB
may discard symbols when linking large programs, that may contain
several modules (from different directories or libraries) with the same
name.
<P>
<A NAME="IDX667"></A>
<DT><CODE>show symbol-reloading</CODE>
<DD>Show the current <CODE>on</CODE> or <CODE>off</CODE> setting.
</DL>
<P>
<A NAME="IDX668"></A>
<A NAME="IDX669"></A>
<DT><CODE>set opaque-type-resolution on</CODE>
<DD>Tell GDB to resolve opaque types. An opaque type is a type
declared as a pointer to a <CODE>struct</CODE>, <CODE>class</CODE>, or
<CODE>union</CODE>---for example, <CODE>struct MyType *</CODE>---that is used in one
source file although the full declaration of <CODE>struct MyType</CODE> is in
another source file. The default is on.
<P>
A change in the setting of this subcommand will not take effect until
the next time symbols for a file are loaded.
</P><P>
<DT><CODE>set opaque-type-resolution off</CODE>
<DD>Tell GDB not to resolve opaque types. In this case, the type
is printed as follows:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>{&#60;no data fields&#62;}
</FONT></pre></td></tr></table><P>
<A NAME="IDX670"></A>
<DT><CODE>show opaque-type-resolution</CODE>
<DD>Show whether opaque types are resolved or not.
<P>
<A NAME="IDX671"></A>
<A NAME="IDX672"></A>
<A NAME="IDX673"></A>
<A NAME="IDX674"></A>
<DT><CODE>maint print symbols <VAR>filename</VAR></CODE>
<DD><DT><CODE>maint print psymbols <VAR>filename</VAR></CODE>
<DD><DT><CODE>maint print msymbols <VAR>filename</VAR></CODE>
<DD>Write a dump of debugging symbol data into the file <VAR>filename</VAR>.
These commands are used to debug the GDB symbol-reading code. Only
symbols with debugging data are included. If you use <SAMP>`maint print
symbols'</SAMP>, GDB includes all the symbols for which it has already
collected full details: that is, <VAR>filename</VAR> reflects symbols for
only those files whose symbols GDB has read. You can use the
command <CODE>info sources</CODE> to find out which files these are. If you
use <SAMP>`maint print psymbols'</SAMP> instead, the dump shows information about
symbols that GDB only knows partially--that is, symbols defined in
files that GDB has skimmed, but not yet read completely. Finally,
<SAMP>`maint print msymbols'</SAMP> dumps just the minimal symbol information
required for each object file from which GDB has read some symbols.
See section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>, for a discussion of how
GDB reads symbols (in the description of <CODE>symbol-file</CODE>).
<P>
<A NAME="IDX675"></A>
<A NAME="IDX676"></A>
<A NAME="IDX677"></A>
<A NAME="IDX678"></A>
<A NAME="IDX679"></A>
<A NAME="IDX680"></A>
<DT><CODE>maint info symtabs [ <VAR>regexp</VAR> ]</CODE>
<DD><DT><CODE>maint info psymtabs [ <VAR>regexp</VAR> ]</CODE>
<DD><P>
List the <CODE>struct symtab</CODE> or <CODE>struct partial_symtab</CODE>
structures whose names match <VAR>regexp</VAR>. If <VAR>regexp</VAR> is not
given, list them all. The output includes expressions which you can
copy into a GDB debugging this one to examine a particular
structure in more detail. For example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) maint info psymtabs dwarf2read
{ objfile /home/gnu/build/gdb/gdb
((struct objfile *) 0x82e69d0)
{ psymtab /home/gnu/src/gdb/dwarf2read.c
((struct partial_symtab *) 0x8474b10)
readin no
fullname (null)
text addresses 0x814d3c8 -- 0x8158074
globals (* (struct partial_symbol **) 0x8507a08 @ 9)
statics (* (struct partial_symbol **) 0x40e95b78 @ 2882)
dependencies (none)
}
}
(gdb) maint info symtabs
(gdb)
</FONT></pre></td></tr></table>We see that there is one partial symbol table whose filename contains
the string <SAMP>`dwarf2read'</SAMP>, belonging to the <SAMP>`gdb'</SAMP> executable;
and we see that GDB has not read in any symtabs yet at all.
If we set a breakpoint on a function, that will cause GDB to
read the symtab for the compilation unit containing that function:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) break dwarf2_psymtab_to_symtab
Breakpoint 1 at 0x814e5da: file /home/gnu/src/gdb/dwarf2read.c,
line 1574.
(gdb) maint info symtabs
{ objfile /home/gnu/build/gdb/gdb
((struct objfile *) 0x82e69d0)
{ symtab /home/gnu/src/gdb/dwarf2read.c
((struct symtab *) 0x86c1f38)
dirname (null)
fullname (null)
blockvector ((struct blockvector *) 0x86c1bd0) (primary)
linetable ((struct linetable *) 0x8370fa0)
debugformat DWARF 2
}
}
(gdb)
</FONT></pre></td></tr></table></DL>
<P>
<A NAME="Altering"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,514 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Altering</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Altering">
<META NAME="keywords" CONTENT="Debugging with GDB: Altering">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC147"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_14.html#SEC146"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC148"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 14. Altering Execution </H1>
<!--docid::SEC147::-->
<P>
Once you think you have found an error in your program, you might want to
find out for certain whether correcting the apparent error would lead to
correct results in the rest of the run. You can find the answer by
experiment, using the GDB features for altering execution of the
program.
</P><P>
For example, you can store new values into variables or memory
locations, give your program a signal, restart it at a different
address, or even return prematurely from a function.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Assignment to variables</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC149">14.2 Continuing at a Different Address</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Continuing at a different address</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC150">14.3 Giving your Program a Signal</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Giving your program a signal</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC151">14.4 Returning from a Function</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Returning from a function</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Calling your program's functions</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Patching your program</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Assignment"></A>
<HR SIZE="6">
<A NAME="SEC148"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC149"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.1 Assignment to Variables </H2>
<!--docid::SEC148::-->
<P>
<A NAME="IDX681"></A>
<A NAME="IDX682"></A>
To alter the value of a variable, evaluate an assignment expression.
See section <A HREF="gdb_9.html#SEC60">Expressions</A>. For example,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>print x=4
</FONT></pre></td></tr></table></P><P>
stores the value 4 into the variable <CODE>x</CODE>, and then prints the
value of the assignment expression (which is 4).
See section <A HREF="gdb_13.html#SEC102">Using GDB with Different Languages</A>, for more
information on operators in supported languages.
</P><P>
<A NAME="IDX683"></A>
<A NAME="IDX684"></A>
If you are not interested in seeing the value of the assignment, use the
<CODE>set</CODE> command instead of the <CODE>print</CODE> command. <CODE>set</CODE> is
really the same as <CODE>print</CODE> except that the expression's value is
not printed and is not put in the value history (see section <A HREF="gdb_9.html#SEC67">Value History</A>). The expression is evaluated only for its effects.
</P><P>
If the beginning of the argument string of the <CODE>set</CODE> command
appears identical to a <CODE>set</CODE> subcommand, use the <CODE>set
variable</CODE> command instead of just <CODE>set</CODE>. This command is identical
to <CODE>set</CODE> except for its lack of subcommands. For example, if your
program has a variable <CODE>width</CODE>, you get an error if you try to set
a new value with just <SAMP>`set width=13'</SAMP>, because GDB has the
command <CODE>set width</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) whatis width
type = double
(gdb) p width
$4 = 13
(gdb) set width=47
Invalid syntax in expression.
</FONT></pre></td></tr></table></P><P>
The invalid expression, of course, is <SAMP>`=47'</SAMP>. In
order to actually set the program's variable <CODE>width</CODE>, use
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) set var width=47
</FONT></pre></td></tr></table></P><P>
Because the <CODE>set</CODE> command has many subcommands that can conflict
with the names of program variables, it is a good idea to use the
<CODE>set variable</CODE> command instead of just <CODE>set</CODE>. For example, if
your program has a variable <CODE>g</CODE>, you run into problems if you try
to set a new value with just <SAMP>`set g=4'</SAMP>, because GDB has
the command <CODE>set gnutarget</CODE>, abbreviated <CODE>set g</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) whatis g
type = double
(gdb) p g
$1 = 1
(gdb) set g=4
(gdb) p g
$2 = 1
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/smith/cc_progs/a.out
"/home/smith/cc_progs/a.out": can't open to read symbols:
Invalid bfd target.
(gdb) show g
The current BFD target is "=4".
</FONT></pre></td></tr></table></P><P>
The program variable <CODE>g</CODE> did not change, and you silently set the
<CODE>gnutarget</CODE> to an invalid value. In order to set the variable
<CODE>g</CODE>, use
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) set var g=4
</FONT></pre></td></tr></table></P><P>
GDB allows more implicit conversions in assignments than C; you can
freely store an integer value into a pointer variable or vice versa,
and you can convert any structure to any other structure that is the
same length or shorter.
</P><P>
To store values into arbitrary places in memory, use the <SAMP>`{<small>...</small>}'</SAMP>
construct to generate a value of specified type at a specified address
(see section <A HREF="gdb_9.html#SEC60">Expressions</A>). For example, <CODE>{int}0x83040</CODE> refers
to memory location <CODE>0x83040</CODE> as an integer (which implies a certain size
and representation in memory), and
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>set {int}0x83040 = 4
</FONT></pre></td></tr></table></P><P>
stores the value 4 into that memory location.
</P><P>
<A NAME="Jumping"></A>
<HR SIZE="6">
<A NAME="SEC149"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC148"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC150"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC150"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.2 Continuing at a Different Address </H2>
<!--docid::SEC149::-->
<P>
Ordinarily, when you continue your program, you do so at the place where
it stopped, with the <CODE>continue</CODE> command. You can instead continue at
an address of your own choosing, with the following commands:
</P><P>
<DL COMPACT>
<A NAME="IDX685"></A>
<DT><CODE>jump <VAR>linespec</VAR></CODE>
<DD><DT><CODE>jump <VAR>location</VAR></CODE>
<DD>Resume execution at line <VAR>linespec</VAR> or at address given by
<VAR>location</VAR>. Execution stops again immediately if there is a
breakpoint there. See section <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>, for a description of the
different forms of <VAR>linespec</VAR> and <VAR>location</VAR>. It is common
practice to use the <CODE>tbreak</CODE> command in conjunction with
<CODE>jump</CODE>. See section <A HREF="gdb_6.html#SEC33">Setting Breakpoints</A>.
<P>
The <CODE>jump</CODE> command does not change the current stack frame, or
the stack pointer, or the contents of any memory location or any
register other than the program counter. If line <VAR>linespec</VAR> is in
a different function from the one currently executing, the results may
be bizarre if the two functions expect different patterns of arguments or
of local variables. For this reason, the <CODE>jump</CODE> command requests
confirmation if the specified line is not in the function currently
executing. However, even bizarre results are predictable if you are
well acquainted with the machine-language code of your program.
</DL>
<P>
On many systems, you can get much the same effect as the <CODE>jump</CODE>
command by storing a new value into the register <CODE>$pc</CODE>. The
difference is that this does not start your program running; it only
changes the address of where it <EM>will</EM> run when you continue. For
example,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>set $pc = 0x485
</FONT></pre></td></tr></table></P><P>
makes the next <CODE>continue</CODE> command or stepping command execute at
address <CODE>0x485</CODE>, rather than at the address where your program stopped.
See section <A HREF="gdb_6.html#SEC43">Continuing and Stepping</A>.
</P><P>
The most common occasion to use the <CODE>jump</CODE> command is to back
up--perhaps with more breakpoints set--over a portion of a program
that has already executed, in order to examine its execution in more
detail.
</P><P>
<A NAME="Signaling"></A>
<HR SIZE="6">
<A NAME="SEC150"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC149"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC151"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC151"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.3 Giving your Program a Signal </H2>
<!--docid::SEC150::-->
<P>
<DL COMPACT>
<A NAME="IDX686"></A>
<DT><CODE>signal <VAR>signal</VAR></CODE>
<DD>Resume execution where your program stopped, but immediately give it the
signal <VAR>signal</VAR>. <VAR>signal</VAR> can be the name or the number of a
signal. For example, on many systems <CODE>signal 2</CODE> and <CODE>signal
SIGINT</CODE> are both ways of sending an interrupt signal.
<P>
Alternatively, if <VAR>signal</VAR> is zero, continue execution without
giving a signal. This is useful when your program stopped on account of
a signal and would ordinary see the signal when resumed with the
<CODE>continue</CODE> command; <SAMP>`signal 0'</SAMP> causes it to resume without a
signal.
</P><P>
<CODE>signal</CODE> does not repeat when you press <KBD>RET</KBD> a second time
after executing the command.
</DL>
<P>
Invoking the <CODE>signal</CODE> command is not the same as invoking the
<CODE>kill</CODE> utility from the shell. Sending a signal with <CODE>kill</CODE>
causes GDB to decide what to do with the signal depending on
the signal handling tables (see section <A HREF="gdb_6.html#SEC44">5.3 Signals</A>). The <CODE>signal</CODE> command
passes the signal directly to your program.
</P><P>
<A NAME="Returning"></A>
<HR SIZE="6">
<A NAME="SEC151"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC150"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC152"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC152"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.4 Returning from a Function </H2>
<!--docid::SEC151::-->
<P>
<DL COMPACT>
<A NAME="IDX687"></A>
<A NAME="IDX688"></A>
<DT><CODE>return</CODE>
<DD><DT><CODE>return <VAR>expression</VAR></CODE>
<DD>You can cancel execution of a function call with the <CODE>return</CODE>
command. If you give an
<VAR>expression</VAR> argument, its value is used as the function's return
value.
</DL>
<P>
When you use <CODE>return</CODE>, GDB discards the selected stack frame
(and all frames within it). You can think of this as making the
discarded frame return prematurely. If you wish to specify a value to
be returned, give that value as the argument to <CODE>return</CODE>.
</P><P>
This pops the selected stack frame (see section <A HREF="gdb_7.html#SEC49">Selecting a Frame</A>), and any other frames inside of it, leaving its caller as the
innermost remaining frame. That frame becomes selected. The
specified value is stored in the registers used for returning values
of functions.
</P><P>
The <CODE>return</CODE> command does not resume execution; it leaves the
program stopped in the state that would exist if the function had just
returned. In contrast, the <CODE>finish</CODE> command (see section <A HREF="gdb_6.html#SEC43">Continuing and Stepping</A>) resumes execution until the
selected stack frame returns naturally.
</P><P>
<A NAME="Calling"></A>
<HR SIZE="6">
<A NAME="SEC152"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC151"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC153"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC153"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.5 Calling Program Functions </H2>
<!--docid::SEC152::-->
<P>
<DL COMPACT>
<A NAME="IDX689"></A>
<A NAME="IDX690"></A>
<DT><CODE>print <VAR>expr</VAR></CODE>
<DD>Evaluate the expression <VAR>expr</VAR> and display the resulting value.
<VAR>expr</VAR> may include calls to functions in the program being
debugged.
<P>
<A NAME="IDX691"></A>
<DT><CODE>call <VAR>expr</VAR></CODE>
<DD>Evaluate the expression <VAR>expr</VAR> without displaying <CODE>void</CODE>
returned values.
<P>
You can use this variant of the <CODE>print</CODE> command if you want to
execute a function from your program that does not return anything
(a.k.a. <EM>a void function</EM>), but without cluttering the output
with <CODE>void</CODE> returned values that GDB will otherwise
print. If the result is not void, it is printed and saved in the
value history.
</DL>
<P>
It is possible for the function you call via the <CODE>print</CODE> or
<CODE>call</CODE> command to generate a signal (e.g., if there's a bug in
the function, or if you passed it incorrect arguments). What happens
in that case is controlled by the <CODE>set unwindonsignal</CODE> command.
</P><P>
<DL COMPACT>
<DT><CODE>set unwindonsignal</CODE>
<DD><A NAME="IDX692"></A>
<A NAME="IDX693"></A>
<A NAME="IDX694"></A>
Set unwinding of the stack if a signal is received while in a function
that GDB called in the program being debugged. If set to on,
GDB unwinds the stack it created for the call and restores
the context to what it was before the call. If set to off (the
default), GDB stops in the frame where the signal was
received.
<P>
<DT><CODE>show unwindonsignal</CODE>
<DD><A NAME="IDX695"></A>
Show the current setting of stack unwinding in the functions called by
GDB.
</DL>
<P>
<A NAME="IDX696"></A>
Sometimes, a function you wish to call is actually a <EM>weak alias</EM>
for another function. In such case, GDB might not pick up
the type information, including the types of the function arguments,
which causes GDB to call the inferior function incorrectly.
As a result, the called function will function erroneously and may
even crash. A solution to that is to use the name of the aliased
function instead.
</P><P>
<A NAME="Patching"></A>
<HR SIZE="6">
<A NAME="SEC153"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC152"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 14.6 Patching Programs </H2>
<!--docid::SEC153::-->
<P>
<A NAME="IDX697"></A>
<A NAME="IDX698"></A>
<A NAME="IDX699"></A>
</P><P>
By default, GDB opens the file containing your program's
executable code (or the corefile) read-only. This prevents accidental
alterations to machine code; but it also prevents you from intentionally
patching your program's binary.
</P><P>
If you'd like to be able to patch the binary, you can specify that
explicitly with the <CODE>set write</CODE> command. For example, you might
want to turn on internal debugging flags, or even to make emergency
repairs.
</P><P>
<DL COMPACT>
<A NAME="IDX700"></A>
<DT><CODE>set write on</CODE>
<DD><DT><CODE>set write off</CODE>
<DD>If you specify <SAMP>`set write on'</SAMP>, GDB opens executable and
core files for both reading and writing; if you specify <SAMP>`set write
off'</SAMP> (the default), GDB opens them read-only.
<P>
If you have already loaded a file, you must load it again (using the
<CODE>exec-file</CODE> or <CODE>core-file</CODE> command) after changing <CODE>set
write</CODE>, for your new setting to take effect.
</P><P>
<DT><CODE>show write</CODE>
<DD><A NAME="IDX701"></A>
Display whether executable files and core files are opened for writing
as well as reading.
</DL>
<P>
<A NAME="GDB Files"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_15.html#SEC147"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC154"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,451 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Targets</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Targets">
<META NAME="keywords" CONTENT="Debugging with GDB: Targets">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC158"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_16.html#SEC157"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC159"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 16. Specifying a Debugging Target </H1>
<!--docid::SEC158::-->
<P>
<A NAME="IDX763"></A>
A <EM>target</EM> is the execution environment occupied by your program.
</P><P>
Often, GDB runs in the same host environment as your program;
in that case, the debugging target is specified as a side effect when
you use the <CODE>file</CODE> or <CODE>core</CODE> commands. When you need more
flexibility--for example, running GDB on a physically separate
host, or controlling a standalone system over a serial port or a
realtime system over a TCP/IP connection--you can use the <CODE>target</CODE>
command to specify one of the target types configured for GDB
(see section <A HREF="gdb_17.html#SEC160">Commands for Managing Targets</A>).
</P><P>
<A NAME="IDX764"></A>
It is possible to build GDB for several different <EM>target
architectures</EM>. When GDB is built like that, you can choose
one of the available architectures with the <KBD>set architecture</KBD>
command.
</P><P>
<DL COMPACT>
<A NAME="IDX765"></A>
<A NAME="IDX766"></A>
<DT><CODE>set architecture <VAR>arch</VAR></CODE>
<DD>This command sets the current target architecture to <VAR>arch</VAR>. The
value of <VAR>arch</VAR> can be <CODE>"auto"</CODE>, in addition to one of the
supported architectures.
<P>
<DT><CODE>show architecture</CODE>
<DD>Show the current target architecture.
<P>
<DT><CODE>set processor</CODE>
<DD><DT><CODE>processor</CODE>
<DD><A NAME="IDX767"></A>
<A NAME="IDX768"></A>
These are alias commands for, respectively, <CODE>set architecture</CODE>
and <CODE>show architecture</CODE>.
</DL>
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_17.html#SEC159">16.1 Active Targets</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Active targets</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for managing targets</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_17.html#SEC161">16.3 Choosing Target Byte Order</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Choosing target byte order</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Active Targets"></A>
<HR SIZE="6">
<A NAME="SEC159"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC160"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 16.1 Active Targets </H2>
<!--docid::SEC159::-->
<P>
<A NAME="IDX769"></A>
<A NAME="IDX770"></A>
<A NAME="IDX771"></A>
</P><P>
There are three classes of targets: processes, core files, and
executable files. GDB can work concurrently on up to three
active targets, one in each class. This allows you to (for example)
start a process and inspect its activity without abandoning your work on
a core file.
</P><P>
For example, if you execute <SAMP>`gdb a.out'</SAMP>, then the executable file
<CODE>a.out</CODE> is the only active target. If you designate a core file as
well--presumably from a prior run that crashed and coredumped--then
GDB has two active targets and uses them in tandem, looking
first in the corefile target, then in the executable file, to satisfy
requests for memory addresses. (Typically, these two classes of target
are complementary, since core files contain only a program's
read-write memory--variables and so on--plus machine status, while
executable files contain only the program text and initialized data.)
</P><P>
When you type <CODE>run</CODE>, your executable file becomes an active process
target as well. When a process target is active, all GDB
commands requesting memory addresses refer to that target; addresses in
an active core file or executable file target are obscured while the
process target is active.
</P><P>
Use the <CODE>core-file</CODE> and <CODE>exec-file</CODE> commands to select a new
core file or executable target (see section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>). To specify as a target a process that is already running, use
the <CODE>attach</CODE> command (see section <A HREF="gdb_5.html#SEC25">Debugging an Already-running Process</A>).
</P><P>
<A NAME="Target Commands"></A>
<HR SIZE="6">
<A NAME="SEC160"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC159"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC161"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC161"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 16.2 Commands for Managing Targets </H2>
<!--docid::SEC160::-->
<P>
<DL COMPACT>
<DT><CODE>target <VAR>type</VAR> <VAR>parameters</VAR></CODE>
<DD>Connects the GDB host environment to a target machine or
process. A target is typically a protocol for talking to debugging
facilities. You use the argument <VAR>type</VAR> to specify the type or
protocol of the target machine.
<P>
Further <VAR>parameters</VAR> are interpreted by the target protocol, but
typically include things like device names or host names to connect
with, process numbers, and baud rates.
</P><P>
The <CODE>target</CODE> command does not repeat if you press <KBD>RET</KBD> again
after executing the command.
</P><P>
<A NAME="IDX772"></A>
<DT><CODE>help target</CODE>
<DD>Displays the names of all targets available. To display targets
currently selected, use either <CODE>info target</CODE> or <CODE>info files</CODE>
(see section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>).
<P>
<DT><CODE>help target <VAR>name</VAR></CODE>
<DD>Describe a particular target, including any parameters necessary to
select it.
<P>
<A NAME="IDX773"></A>
<DT><CODE>set gnutarget <VAR>args</VAR></CODE>
<DD>GDB uses its own library BFD to read your files. GDB
knows whether it is reading an <EM>executable</EM>,
a <EM>core</EM>, or a <EM>.o</EM> file; however, you can specify the file format
with the <CODE>set gnutarget</CODE> command. Unlike most <CODE>target</CODE> commands,
with <CODE>gnutarget</CODE> the <CODE>target</CODE> refers to a program, not a machine.
<P>
<BLOCKQUOTE>
<EM>Warning:</EM> To specify a file format with <CODE>set gnutarget</CODE>,
you must know the actual BFD name.
</BLOCKQUOTE>
<P>
See section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>.
</P><P>
<A NAME="IDX774"></A>
<DT><CODE>show gnutarget</CODE>
<DD>Use the <CODE>show gnutarget</CODE> command to display what file format
<CODE>gnutarget</CODE> is set to read. If you have not set <CODE>gnutarget</CODE>,
GDB will determine the file format for each file automatically,
and <CODE>show gnutarget</CODE> displays <SAMP>`The current BDF target is "auto"'</SAMP>.
</DL>
<P>
<A NAME="IDX775"></A>
Here are some common targets (available, or not, depending on the GDB
configuration):
</P><P>
<DL COMPACT>
<A NAME="IDX776"></A>
<DT><CODE>target exec <VAR>program</VAR></CODE>
<DD><A NAME="IDX777"></A>
An executable file. <SAMP>`target exec <VAR>program</VAR>'</SAMP> is the same as
<SAMP>`exec-file <VAR>program</VAR>'</SAMP>.
<P>
<DT><CODE>target core <VAR>filename</VAR></CODE>
<DD><A NAME="IDX778"></A>
A core dump file. <SAMP>`target core <VAR>filename</VAR>'</SAMP> is the same as
<SAMP>`core-file <VAR>filename</VAR>'</SAMP>.
<P>
<DT><CODE>target remote <VAR>medium</VAR></CODE>
<DD><A NAME="IDX779"></A>
A remote system connected to GDB via a serial line or network
connection. This command tells GDB to use its own remote
protocol over <VAR>medium</VAR> for debugging. See section <A HREF="gdb_18.html#SEC162">17. Debugging Remote Programs</A>.
<P>
For example, if you have a board connected to <TT>`/dev/ttya'</TT> on the
machine running GDB, you could say:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>target remote /dev/ttya
</FONT></pre></td></tr></table></P><P>
<CODE>target remote</CODE> supports the <CODE>load</CODE> command. This is only
useful if you have some other way of getting the stub to the target
system, and you can put it somewhere in memory where it won't get
clobbered by the download.
</P><P>
<DT><CODE>target sim</CODE>
<DD><A NAME="IDX780"></A>
Builtin CPU simulator. GDB includes simulators for most architectures.
In general,
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> target sim
load
run
</FONT></pre></td></tr></table>works; however, you cannot assume that a specific memory map, device
drivers, or even basic I/O is available, although some simulators do
provide these. For info about any processor-specific simulator details,
see the appropriate section in <A HREF="gdb_19.html#SEC194">Embedded Processors</A>.
<P>
</DL>
<P>
Some configurations may include these targets as well:
</P><P>
<DL COMPACT>
<DT><CODE>target nrom <VAR>dev</VAR></CODE>
<DD><A NAME="IDX781"></A>
NetROM ROM emulator. This target only supports downloading.
<P>
</DL>
<P>
Different targets are available on different configurations of GDB;
your configuration may have more or fewer targets.
</P><P>
Many remote targets require you to download the executable's code once
you've successfully established a connection. You may wish to control
various aspects of this process.
</P><P>
<DL COMPACT>
<DT><CODE>set hash</CODE>
<DD><A NAME="IDX782"></A>
<A NAME="IDX783"></A>
This command controls whether a hash mark <SAMP>`#'</SAMP> is displayed while
downloading a file to the remote monitor. If on, a hash mark is
displayed after each S-record is successfully downloaded to the
monitor.
<P>
<DT><CODE>show hash</CODE>
<DD><A NAME="IDX784"></A>
Show the current status of displaying the hash mark.
<P>
<DT><CODE>set debug monitor</CODE>
<DD><A NAME="IDX785"></A>
<A NAME="IDX786"></A>
Enable or disable display of communications messages between
GDB and the remote monitor.
<P>
<DT><CODE>show debug monitor</CODE>
<DD><A NAME="IDX787"></A>
Show the current status of displaying communications between
GDB and the remote monitor.
</DL>
<P>
<DL COMPACT>
<A NAME="IDX788"></A>
<DT><CODE>load <VAR>filename</VAR></CODE>
<DD>Depending on what remote debugging facilities are configured into
GDB, the <CODE>load</CODE> command may be available. Where it exists, it
is meant to make <VAR>filename</VAR> (an executable) available for debugging
on the remote system--by downloading, or dynamic linking, for example.
<CODE>load</CODE> also records the <VAR>filename</VAR> symbol table in GDB, like
the <CODE>add-symbol-file</CODE> command.
<P>
If your GDB does not have a <CODE>load</CODE> command, attempting to
execute it gets the error message "<CODE>You can't do that when your
target is <small>...</small></CODE>"
</P><P>
The file is loaded at whatever address is specified in the executable.
For some object file formats, you can specify the load address when you
link the program; for other formats, like a.out, the object file format
specifies a fixed address.
</P><P>
Depending on the remote side capabilities, GDB may be able to
load programs into flash memory.
</P><P>
<CODE>load</CODE> does not repeat if you press <KBD>RET</KBD> again after using it.
</DL>
<P>
<A NAME="Byte Order"></A>
<HR SIZE="6">
<A NAME="SEC161"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC160"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 16.3 Choosing Target Byte Order </H2>
<!--docid::SEC161::-->
<P>
<A NAME="IDX789"></A>
<A NAME="IDX790"></A>
</P><P>
Some types of processors, such as the MIPS, PowerPC, and Renesas SH,
offer the ability to run either big-endian or little-endian byte
orders. Usually the executable or symbol will include a bit to
designate the endian-ness, and you will not need to worry about
which to use. However, you may still find it useful to adjust
GDB's idea of processor endian-ness manually.
</P><P>
<DL COMPACT>
<A NAME="IDX791"></A>
<DT><CODE>set endian big</CODE>
<DD>Instruct GDB to assume the target is big-endian.
<P>
<DT><CODE>set endian little</CODE>
<DD>Instruct GDB to assume the target is little-endian.
<P>
<DT><CODE>set endian auto</CODE>
<DD>Instruct GDB to use the byte order associated with the
executable.
<P>
<DT><CODE>show endian</CODE>
<DD>Display GDB's current idea of the target byte order.
<P>
</DL>
<P>
Note that these commands merely adjust interpretation of symbolic
data on the host, and that they have absolutely no effect on the
target system.
</P><P>
<A NAME="Remote Debugging"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_17.html#SEC158"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC162"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,321 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Sample Session</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Sample Session">
<META NAME="keywords" CONTENT="Debugging with GDB: Sample Session">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC5"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_1.html#SEC4"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 1. A Sample GDB Session </H1>
<!--docid::SEC5::-->
<P>
You can use this manual at your leisure to read all about GDB.
However, a handful of commands are enough to get started using the
debugger. This chapter illustrates those commands.
</P><P>
One of the preliminary versions of GNU <CODE>m4</CODE> (a generic macro
processor) exhibits the following bug: sometimes, when we change its
quote strings from the default, the commands used to capture one macro
definition within another stop working. In the following short <CODE>m4</CODE>
session, we define a macro <CODE>foo</CODE> which expands to <CODE>0000</CODE>; we
then use the <CODE>m4</CODE> built-in <CODE>defn</CODE> to define <CODE>bar</CODE> as the
same thing. However, when we change the open quote string to
<CODE>&#60;QUOTE&#62;</CODE> and the close quote string to <CODE>&#60;UNQUOTE&#62;</CODE>, the same
procedure fails to define a new synonym <CODE>baz</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ <B>cd gnu/m4</B>
$ <B>./m4</B>
<B>define(foo,0000)</B>
<B>foo</B>
0000
<B>define(bar,defn(`foo'))</B>
<B>bar</B>
0000
<B>changequote(&#60;QUOTE&#62;,&#60;UNQUOTE&#62;)</B>
<B>define(baz,defn(&#60;QUOTE&#62;foo&#60;UNQUOTE&#62;))</B>
<B>baz</B>
<B>Ctrl-d</B>
m4: End of input: 0: fatal error: EOF in string
</FONT></pre></td></tr></table></P><P>
Let us use GDB to try to see what is going on.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ <B>gdb m4</B>
GDB is free software and you are welcome to distribute copies
of it under certain conditions; type "show copying" to see
the conditions.
There is absolutely no warranty for GDB; type "show warranty"
for details.
GDB 6.8, Copyright 1999 Free Software Foundation, Inc...
(gdb)
</FONT></pre></td></tr></table></P><P>
GDB reads only enough symbol data to know where to find the
rest when needed; as a result, the first prompt comes up very quickly.
We now tell GDB to use a narrower display width than usual, so
that examples fit in this manual.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>set width 70</B>
</FONT></pre></td></tr></table></P><P>
We need to see how the <CODE>m4</CODE> built-in <CODE>changequote</CODE> works.
Having looked at the source, we know the relevant subroutine is
<CODE>m4_changequote</CODE>, so we set a breakpoint there with the GDB
<CODE>break</CODE> command.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>break m4_changequote</B>
Breakpoint 1 at 0x62f4: file builtin.c, line 879.
</FONT></pre></td></tr></table></P><P>
Using the <CODE>run</CODE> command, we start <CODE>m4</CODE> running under GDB
control; as long as control does not reach the <CODE>m4_changequote</CODE>
subroutine, the program runs as usual:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>run</B>
Starting program: /work/Editorial/gdb/gnu/m4/m4
<B>define(foo,0000)</B>
<B>foo</B>
0000
</FONT></pre></td></tr></table></P><P>
To trigger the breakpoint, we call <CODE>changequote</CODE>. GDB
suspends execution of <CODE>m4</CODE>, displaying information about the
context where it stops.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><B>changequote(&#60;QUOTE&#62;,&#60;UNQUOTE&#62;)</B>
Breakpoint 1, m4_changequote (argc=3, argv=0x33c70)
at builtin.c:879
879 if (bad_argc(TOKEN_DATA_TEXT(argv[0]),argc,1,3))
</FONT></pre></td></tr></table></P><P>
Now we use the command <CODE>n</CODE> (<CODE>next</CODE>) to advance execution to
the next line of the current function.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>n</B>
882 set_quotes((argc &#62;= 2) ? TOKEN_DATA_TEXT(argv[1])\
: nil,
</FONT></pre></td></tr></table></P><P>
<CODE>set_quotes</CODE> looks like a promising subroutine. We can go into it
by using the command <CODE>s</CODE> (<CODE>step</CODE>) instead of <CODE>next</CODE>.
<CODE>step</CODE> goes to the next line to be executed in <EM>any</EM>
subroutine, so it steps into <CODE>set_quotes</CODE>.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>s</B>
set_quotes (lq=0x34c78 "&#60;QUOTE&#62;", rq=0x34c88 "<UNQUOTE>")
at input.c:530
530 if (lquote != def_lquote)
</FONT></pre></td></tr></table></P><P>
The display that shows the subroutine where <CODE>m4</CODE> is now
suspended (and its arguments) is called a stack frame display. It
shows a summary of the stack. We can use the <CODE>backtrace</CODE>
command (which can also be spelled <CODE>bt</CODE>), to see where we are
in the stack as a whole: the <CODE>backtrace</CODE> command displays a
stack frame for each active subroutine.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>bt</B>
#0 set_quotes (lq=0x34c78 "&#60;QUOTE&#62;", rq=0x34c88 "<UNQUOTE>")
at input.c:530
#1 0x6344 in m4_changequote (argc=3, argv=0x33c70)
at builtin.c:882
#2 0x8174 in expand_macro (sym=0x33320) at macro.c:242
#3 0x7a88 in expand_token (obs=0x0, t=209696, td=0xf7fffa30)
at macro.c:71
#4 0x79dc in expand_input () at macro.c:40
#5 0x2930 in main (argc=0, argv=0xf7fffb20) at m4.c:195
</FONT></pre></td></tr></table></P><P>
We step through a few more lines to see what happens. The first two
times, we can use <SAMP>`s'</SAMP>; the next two times we use <CODE>n</CODE> to avoid
falling into the <CODE>xstrdup</CODE> subroutine.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>s</B>
0x3b5c 532 if (rquote != def_rquote)
(gdb) <B>s</B>
0x3b80 535 lquote = (lq == nil || *lq == '\0') ? \
def_lquote : xstrdup(lq);
(gdb) <B>n</B>
536 rquote = (rq == nil || *rq == '\0') ? def_rquote\
: xstrdup(rq);
(gdb) <B>n</B>
538 len_lquote = strlen(rquote);
</FONT></pre></td></tr></table></P><P>
The last line displayed looks a little odd; we can examine the variables
<CODE>lquote</CODE> and <CODE>rquote</CODE> to see if they are in fact the new left
and right quotes we specified. We use the command <CODE>p</CODE>
(<CODE>print</CODE>) to see their values.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>p lquote</B>
$1 = 0x35d40 "&#60;QUOTE&#62;"
(gdb) <B>p rquote</B>
$2 = 0x35d50 "&#60;UNQUOTE&#62;"
</FONT></pre></td></tr></table></P><P>
<CODE>lquote</CODE> and <CODE>rquote</CODE> are indeed the new left and right quotes.
To look at some context, we can display ten lines of source
surrounding the current line with the <CODE>l</CODE> (<CODE>list</CODE>) command.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>l</B>
533 xfree(rquote);
534
535 lquote = (lq == nil || *lq == '\0') ? def_lquote\
: xstrdup (lq);
536 rquote = (rq == nil || *rq == '\0') ? def_rquote\
: xstrdup (rq);
537
538 len_lquote = strlen(rquote);
539 len_rquote = strlen(lquote);
540 }
541
542 void
</FONT></pre></td></tr></table></P><P>
Let us step past the two lines that set <CODE>len_lquote</CODE> and
<CODE>len_rquote</CODE>, and then examine the values of those variables.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>n</B>
539 len_rquote = strlen(lquote);
(gdb) <B>n</B>
540 }
(gdb) <B>p len_lquote</B>
$3 = 9
(gdb) <B>p len_rquote</B>
$4 = 7
</FONT></pre></td></tr></table></P><P>
That certainly looks wrong, assuming <CODE>len_lquote</CODE> and
<CODE>len_rquote</CODE> are meant to be the lengths of <CODE>lquote</CODE> and
<CODE>rquote</CODE> respectively. We can set them to better values using
the <CODE>p</CODE> command, since it can print the value of
any expression--and that expression can include subroutine calls and
assignments.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>p len_lquote=strlen(lquote)</B>
$5 = 7
(gdb) <B>p len_rquote=strlen(rquote)</B>
$6 = 9
</FONT></pre></td></tr></table></P><P>
Is that enough to fix the problem of using the new quotes with the
<CODE>m4</CODE> built-in <CODE>defn</CODE>? We can allow <CODE>m4</CODE> to continue
executing with the <CODE>c</CODE> (<CODE>continue</CODE>) command, and then try the
example that caused trouble initially:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>c</B>
Continuing.
<B>define(baz,defn(&#60;QUOTE&#62;foo&#60;UNQUOTE&#62;))</B>
baz
0000
</FONT></pre></td></tr></table></P><P>
Success! The new quotes now work just as well as the default ones. The
problem seems to have been just the two typos defining the wrong
lengths. We allow <CODE>m4</CODE> exit by giving it an EOF as input:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><B>Ctrl-d</B>
Program exited normally.
</FONT></pre></td></tr></table></P><P>
The message <SAMP>`Program exited normally.'</SAMP> is from GDB; it
indicates <CODE>m4</CODE> has finished executing. We can end our GDB
session with the GDB <CODE>quit</CODE> command.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>quit</B>
</FONT></pre></td></tr></table></P><P>
<A NAME="Invocation"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,875 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Controlling GDB</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Controlling GDB">
<META NAME="keywords" CONTENT="Debugging with GDB: Controlling GDB">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC220"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC219"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC221"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 19. Controlling GDB </H1>
<!--docid::SEC220::-->
<P>
You can alter the way GDB interacts with you by using the
<CODE>set</CODE> command. For commands controlling how GDB displays
data, see <A HREF="gdb_9.html#SEC66">Print Settings</A>. Other settings are
described here.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC221">19.1 Prompt</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command editing</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command history</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Screen size</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Configuring the current ABI</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Optional warnings and messages</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Optional messages about internal happenings</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Prompt"></A>
<HR SIZE="6">
<A NAME="SEC221"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC222"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.1 Prompt </H2>
<!--docid::SEC221::-->
<P>
<A NAME="IDX1103"></A>
</P><P>
GDB indicates its readiness to read a command by printing a string
called the <EM>prompt</EM>. This string is normally <SAMP>`(gdb)'</SAMP>. You
can change the prompt string with the <CODE>set prompt</CODE> command. For
instance, when debugging GDB with GDB, it is useful to change
the prompt in one of the GDB sessions so that you can always tell
which one you are talking to.
</P><P>
<EM>Note:</EM> <CODE>set prompt</CODE> does not add a space for you after the
prompt you set. This allows you to set a prompt which ends in a space
or a prompt that does not.
</P><P>
<DL COMPACT>
<A NAME="IDX1104"></A>
<DT><CODE>set prompt <VAR>newprompt</VAR></CODE>
<DD>Directs GDB to use <VAR>newprompt</VAR> as its prompt string henceforth.
<P>
<A NAME="IDX1105"></A>
<DT><CODE>show prompt</CODE>
<DD>Prints a line of the form: <SAMP>`Gdb's prompt is: <VAR>your-prompt</VAR>'</SAMP>
</DL>
<P>
<A NAME="Editing"></A>
<HR SIZE="6">
<A NAME="SEC222"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC221"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC223"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC223"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.2 Command Editing </H2>
<!--docid::SEC222::-->
<P>
GDB reads its input commands via the <EM>Readline</EM> interface. This
GNU library provides consistent behavior for programs which provide a
command line interface to the user. Advantages are GNU Emacs-style
or <EM>vi</EM>-style inline editing of commands, <CODE>csh</CODE>-like history
substitution, and a storage and recall of command history across
debugging sessions.
</P><P>
You may control the behavior of command line editing in GDB with the
command <CODE>set</CODE>.
</P><P>
<DL COMPACT>
<A NAME="IDX1106"></A>
<A NAME="IDX1107"></A>
<DT><CODE>set editing</CODE>
<DD><DT><CODE>set editing on</CODE>
<DD>Enable command line editing (enabled by default).
<P>
<DT><CODE>set editing off</CODE>
<DD>Disable command line editing.
<P>
<A NAME="IDX1108"></A>
<DT><CODE>show editing</CODE>
<DD>Show whether command line editing is enabled.
</DL>
<P>
See section <A HREF="gdb_28.html#SEC657">27. Command Line Editing</A>, for more details about the Readline
interface. Users unfamiliar with GNU Emacs or <CODE>vi</CODE> are
encouraged to read that chapter.
</P><P>
<A NAME="Command History"></A>
<HR SIZE="6">
<A NAME="SEC223"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC222"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC224"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC224"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.3 Command History </H2>
<!--docid::SEC223::-->
<P>
GDB can keep track of the commands you type during your
debugging sessions, so that you can be certain of precisely what
happened. Use these commands to manage the GDB command
history facility.
</P><P>
GDB uses the GNU History library, a part of the Readline
package, to provide the history facility. See section <A HREF="gdb_29.html#SEC679">28. Using History Interactively</A>, for the detailed description of the History library.
</P><P>
To issue a command to GDB without affecting certain aspects of
the state which is seen by users, prefix it with <SAMP>`server '</SAMP>
(see section <A HREF="gdb_26.html#SEC648">25.2 The Server Prefix</A>). This
means that this command will not affect the command history, nor will it
affect GDB's notion of which command to repeat if <KBD>RET</KBD> is
pressed on a line by itself.
</P><P>
<A NAME="IDX1109"></A>
The server prefix does not affect the recording of values into the value
history; to print a value without recording it into the value history,
use the <CODE>output</CODE> command instead of the <CODE>print</CODE> command.
</P><P>
Here is the description of GDB commands related to command
history.
</P><P>
<DL COMPACT>
<A NAME="IDX1110"></A>
<A NAME="IDX1111"></A>
<A NAME="IDX1112"></A>
<A NAME="IDX1113"></A>
<DT><CODE>set history filename <VAR>fname</VAR></CODE>
<DD>Set the name of the GDB command history file to <VAR>fname</VAR>.
This is the file where GDB reads an initial command history
list, and where it writes the command history from this session when it
exits. You can access this list through history expansion or through
the history command editing characters listed below. This file defaults
to the value of the environment variable <CODE>GDBHISTFILE</CODE>, or to
<TT>`./.gdb_history'</TT> (<TT>`./_gdb_history'</TT> on MS-DOS) if this variable
is not set.
<P>
<A NAME="IDX1114"></A>
<A NAME="IDX1115"></A>
<DT><CODE>set history save</CODE>
<DD><DT><CODE>set history save on</CODE>
<DD>Record command history in a file, whose name may be specified with the
<CODE>set history filename</CODE> command. By default, this option is disabled.
<P>
<DT><CODE>set history save off</CODE>
<DD>Stop recording command history in a file.
<P>
<A NAME="IDX1116"></A>
<A NAME="IDX1117"></A>
<A NAME="IDX1118"></A>
<DT><CODE>set history size <VAR>size</VAR></CODE>
<DD>Set the number of commands which GDB keeps in its history list.
This defaults to the value of the environment variable
<CODE>HISTSIZE</CODE>, or to 256 if this variable is not set.
</DL>
<P>
History expansion assigns special meaning to the character <KBD>!</KBD>.
See section <A HREF="gdb_29.html#SEC681">28.1.1 Event Designators</A>, for more details.
</P><P>
<A NAME="IDX1119"></A>
Since <KBD>!</KBD> is also the logical not operator in C, history expansion
is off by default. If you decide to enable history expansion with the
<CODE>set history expansion on</CODE> command, you may sometimes need to
follow <KBD>!</KBD> (when it is used as logical not, in an expression) with
a space or a tab to prevent it from being expanded. The readline
history facilities do not attempt substitution on the strings
<KBD>!=</KBD> and <KBD>!(</KBD>, even when history expansion is enabled.
</P><P>
The commands to control history expansion are:
</P><P>
<DL COMPACT>
<DT><CODE>set history expansion on</CODE>
<DD><DT><CODE>set history expansion</CODE>
<DD><A NAME="IDX1120"></A>
Enable history expansion. History expansion is off by default.
<P>
<DT><CODE>set history expansion off</CODE>
<DD>Disable history expansion.
<P>
<A NAME="IDX1121"></A>
<DT><CODE>show history</CODE>
<DD><DT><CODE>show history filename</CODE>
<DD><DT><CODE>show history save</CODE>
<DD><DT><CODE>show history size</CODE>
<DD><DT><CODE>show history expansion</CODE>
<DD>These commands display the state of the GDB history parameters.
<CODE>show history</CODE> by itself displays all four states.
</DL>
<P>
<DL COMPACT>
<A NAME="IDX1122"></A>
<A NAME="IDX1123"></A>
<A NAME="IDX1124"></A>
<DT><CODE>show commands</CODE>
<DD>Display the last ten commands in the command history.
<P>
<DT><CODE>show commands <VAR>n</VAR></CODE>
<DD>Print ten commands centered on command number <VAR>n</VAR>.
<P>
<DT><CODE>show commands +</CODE>
<DD>Print ten commands just after the commands last printed.
</DL>
<P>
<A NAME="Screen Size"></A>
<HR SIZE="6">
<A NAME="SEC224"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC223"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC225"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC225"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.4 Screen Size </H2>
<!--docid::SEC224::-->
<P>
Certain commands to GDB may produce large amounts of
information output to the screen. To help you read all of it,
GDB pauses and asks you for input at the end of each page of
output. Type <KBD>RET</KBD> when you want to continue the output, or <KBD>q</KBD>
to discard the remaining output. Also, the screen width setting
determines when to wrap lines of output. Depending on what is being
printed, GDB tries to break the line at a readable place,
rather than simply letting it overflow onto the following line.
</P><P>
Normally GDB knows the size of the screen from the terminal
driver software. For example, on Unix GDB uses the termcap data base
together with the value of the <CODE>TERM</CODE> environment variable and the
<CODE>stty rows</CODE> and <CODE>stty cols</CODE> settings. If this is not correct,
you can override it with the <CODE>set height</CODE> and <CODE>set
width</CODE> commands:
</P><P>
<DL COMPACT>
<A NAME="IDX1125"></A>
<A NAME="IDX1126"></A>
<A NAME="IDX1127"></A>
<A NAME="IDX1128"></A>
<DT><CODE>set height <VAR>lpp</VAR></CODE>
<DD><DT><CODE>show height</CODE>
<DD><DT><CODE>set width <VAR>cpl</VAR></CODE>
<DD><DT><CODE>show width</CODE>
<DD>These <CODE>set</CODE> commands specify a screen height of <VAR>lpp</VAR> lines and
a screen width of <VAR>cpl</VAR> characters. The associated <CODE>show</CODE>
commands display the current settings.
<P>
If you specify a height of zero lines, GDB does not pause during
output no matter how long the output is. This is useful if output is to a
file or to an editor buffer.
</P><P>
Likewise, you can specify <SAMP>`set width 0'</SAMP> to prevent GDB
from wrapping its output.
</P><P>
<DT><CODE>set pagination on</CODE>
<DD><DT><CODE>set pagination off</CODE>
<DD><A NAME="IDX1129"></A>
Turn the output pagination on or off; the default is on. Turning
pagination off is the alternative to <CODE>set height 0</CODE>.
<P>
<DT><CODE>show pagination</CODE>
<DD><A NAME="IDX1130"></A>
Show the current pagination mode.
</DL>
<P>
<A NAME="Numbers"></A>
<HR SIZE="6">
<A NAME="SEC225"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC224"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC226"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC226"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.5 Numbers </H2>
<!--docid::SEC225::-->
<P>
You can always enter numbers in octal, decimal, or hexadecimal in
GDB by the usual conventions: octal numbers begin with
<SAMP>`0'</SAMP>, decimal numbers end with <SAMP>`.'</SAMP>, and hexadecimal numbers
begin with <SAMP>`0x'</SAMP>. Numbers that neither begin with <SAMP>`0'</SAMP> or
<SAMP>`0x'</SAMP>, nor end with a <SAMP>`.'</SAMP> are, by default, entered in base
10; likewise, the default display for numbers--when no particular
format is specified--is base 10. You can change the default base for
both input and output with the commands described below.
</P><P>
<DL COMPACT>
<A NAME="IDX1131"></A>
<DT><CODE>set input-radix <VAR>base</VAR></CODE>
<DD>Set the default base for numeric input. Supported choices
for <VAR>base</VAR> are decimal 8, 10, or 16. <VAR>base</VAR> must itself be
specified either unambiguously or using the current input radix; for
example, any of
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>set input-radix 012
set input-radix 10.
set input-radix 0xa
</FONT></pre></td></tr></table></P><P>
sets the input base to decimal. On the other hand, <SAMP>`set input-radix 10'</SAMP>
leaves the input radix unchanged, no matter what it was, since
<SAMP>`10'</SAMP>, being without any leading or trailing signs of its base, is
interpreted in the current radix. Thus, if the current radix is 16,
<SAMP>`10'</SAMP> is interpreted in hex, i.e. as 16 decimal, which doesn't
change the radix.
</P><P>
<A NAME="IDX1132"></A>
<DT><CODE>set output-radix <VAR>base</VAR></CODE>
<DD>Set the default base for numeric display. Supported choices
for <VAR>base</VAR> are decimal 8, 10, or 16. <VAR>base</VAR> must itself be
specified either unambiguously or using the current input radix.
<P>
<A NAME="IDX1133"></A>
<DT><CODE>show input-radix</CODE>
<DD>Display the current default base for numeric input.
<P>
<A NAME="IDX1134"></A>
<DT><CODE>show output-radix</CODE>
<DD>Display the current default base for numeric display.
<P>
<DT><CODE>set radix [<VAR>base</VAR>]</CODE>
<DD><DT><CODE>show radix</CODE>
<DD><A NAME="IDX1135"></A>
<A NAME="IDX1136"></A>
These commands set and show the default base for both input and output
of numbers. <CODE>set radix</CODE> sets the radix of input and output to
the same base; without an argument, it resets the radix back to its
default value of 10.
<P>
</DL>
<P>
<A NAME="ABI"></A>
<HR SIZE="6">
<A NAME="SEC226"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC225"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC227"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC227"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.6 Configuring the Current ABI </H2>
<!--docid::SEC226::-->
<P>
GDB can determine the <EM>ABI</EM> (Application Binary Interface) of your
application automatically. However, sometimes you need to override its
conclusions. Use these commands to manage GDB's view of the
current ABI.
</P><P>
<A NAME="IDX1137"></A>
<A NAME="IDX1138"></A>
<A NAME="IDX1139"></A>
</P><P>
One GDB configuration can debug binaries for multiple operating
system targets, either via remote debugging or native emulation.
GDB will autodetect the <EM>OS ABI</EM> (Operating System ABI) in use,
but you can override its conclusion using the <CODE>set osabi</CODE> command.
One example where this is useful is in debugging of binaries which use
an alternate C library (e.g. UCLIBC for GNU/Linux) which does
not have the same identifying marks that the standard C library for your
platform provides.
</P><P>
<DL COMPACT>
<DT><CODE>show osabi</CODE>
<DD>Show the OS ABI currently in use.
<P>
<DT><CODE>set osabi</CODE>
<DD>With no argument, show the list of registered available OS ABI's.
<P>
<DT><CODE>set osabi <VAR>abi</VAR></CODE>
<DD>Set the current OS ABI to <VAR>abi</VAR>.
</DL>
<P>
<A NAME="IDX1140"></A>
</P><P>
Generally, the way that an argument of type <CODE>float</CODE> is passed to a
function depends on whether the function is prototyped. For a prototyped
(i.e. ANSI/ISO style) function, <CODE>float</CODE> arguments are passed unchanged,
according to the architecture's convention for <CODE>float</CODE>. For unprototyped
(i.e. K&#38;R style) functions, <CODE>float</CODE> arguments are first promoted to type
<CODE>double</CODE> and then passed.
</P><P>
Unfortunately, some forms of debug information do not reliably indicate whether
a function is prototyped. If GDB calls a function that is not marked
as prototyped, it consults <KBD>set coerce-float-to-double</KBD>.
</P><P>
<DL COMPACT>
<A NAME="IDX1141"></A>
<DT><CODE>set coerce-float-to-double</CODE>
<DD><DT><CODE>set coerce-float-to-double on</CODE>
<DD>Arguments of type <CODE>float</CODE> will be promoted to <CODE>double</CODE> when passed
to an unprototyped function. This is the default setting.
<P>
<DT><CODE>set coerce-float-to-double off</CODE>
<DD>Arguments of type <CODE>float</CODE> will be passed directly to unprototyped
functions.
<P>
<A NAME="IDX1142"></A>
<DT><CODE>show coerce-float-to-double</CODE>
<DD>Show the current setting of promoting <CODE>float</CODE> to <CODE>double</CODE>.
</DL>
<P>
<A NAME="IDX1143"></A>
<A NAME="IDX1144"></A>
GDB needs to know the ABI used for your program's C<TT>++</TT>
objects. The correct C<TT>++</TT> ABI depends on which C<TT>++</TT> compiler was
used to build your application. GDB only fully supports
programs with a single C<TT>++</TT> ABI; if your program contains code using
multiple C<TT>++</TT> ABI's or if GDB can not identify your
program's ABI correctly, you can tell GDB which ABI to use.
Currently supported ABI's include "gnu-v2", for <CODE>g++</CODE> versions
before 3.0, "gnu-v3", for <CODE>g++</CODE> versions 3.0 and later, and
"hpaCC" for the HP ANSI C<TT>++</TT> compiler. Other C<TT>++</TT> compilers may
use the "gnu-v2" or "gnu-v3" ABI's as well. The default setting is
"auto".
</P><P>
<DL COMPACT>
<DT><CODE>show cp-abi</CODE>
<DD>Show the C<TT>++</TT> ABI currently in use.
<P>
<DT><CODE>set cp-abi</CODE>
<DD>With no argument, show the list of supported C<TT>++</TT> ABI's.
<P>
<DT><CODE>set cp-abi <VAR>abi</VAR></CODE>
<DD><DT><CODE>set cp-abi auto</CODE>
<DD>Set the current C<TT>++</TT> ABI to <VAR>abi</VAR>, or return to automatic detection.
</DL>
<P>
<A NAME="Messages/Warnings"></A>
<HR SIZE="6">
<A NAME="SEC227"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC226"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC228"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC228"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.7 Optional Warnings and Messages </H2>
<!--docid::SEC227::-->
<P>
<A NAME="IDX1145"></A>
<A NAME="IDX1146"></A>
By default, GDB is silent about its inner workings. If you are
running on a slow machine, you may want to use the <CODE>set verbose</CODE>
command. This makes GDB tell you when it does a lengthy
internal operation, so you will not think it has crashed.
</P><P>
Currently, the messages controlled by <CODE>set verbose</CODE> are those
which announce that the symbol table for a source file is being read;
see <CODE>symbol-file</CODE> in <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>.
</P><P>
<DL COMPACT>
<A NAME="IDX1147"></A>
<DT><CODE>set verbose on</CODE>
<DD>Enables GDB output of certain informational messages.
<P>
<DT><CODE>set verbose off</CODE>
<DD>Disables GDB output of certain informational messages.
<P>
<A NAME="IDX1148"></A>
<DT><CODE>show verbose</CODE>
<DD>Displays whether <CODE>set verbose</CODE> is on or off.
</DL>
<P>
By default, if GDB encounters bugs in the symbol table of an
object file, it is silent; but if you are debugging a compiler, you may
find this information useful (see section <A HREF="gdb_16.html#SEC157">Errors Reading Symbol Files</A>).
</P><P>
<DL COMPACT>
<A NAME="IDX1149"></A>
<DT><CODE>set complaints <VAR>limit</VAR></CODE>
<DD>Permits GDB to output <VAR>limit</VAR> complaints about each type of
unusual symbols before becoming silent about the problem. Set
<VAR>limit</VAR> to zero to suppress all complaints; set it to a large number
to prevent complaints from being suppressed.
<P>
<A NAME="IDX1150"></A>
<DT><CODE>show complaints</CODE>
<DD>Displays how many symbol complaints GDB is permitted to produce.
<P>
</DL>
<P>
By default, GDB is cautious, and asks what sometimes seems to be a
lot of stupid questions to confirm certain commands. For example, if
you try to run a program which is already running:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n)
</FONT></pre></td></tr></table></P><P>
If you are willing to unflinchingly face the consequences of your own
commands, you can disable this "feature":
</P><P>
<DL COMPACT>
<A NAME="IDX1151"></A>
<A NAME="IDX1152"></A>
<A NAME="IDX1153"></A>
<A NAME="IDX1154"></A>
<DT><CODE>set confirm off</CODE>
<DD>Disables confirmation requests.
<P>
<DT><CODE>set confirm on</CODE>
<DD>Enables confirmation requests (the default).
<P>
<A NAME="IDX1155"></A>
<DT><CODE>show confirm</CODE>
<DD>Displays state of confirmation requests.
<P>
</DL>
<P>
<A NAME="IDX1156"></A>
If you need to debug user-defined commands or sourced files you may find it
useful to enable <EM>command tracing</EM>. In this mode each command will be
printed as it is executed, prefixed with one or more <SAMP>`+'</SAMP> symbols, the
quantity denoting the call depth of each command.
</P><P>
<DL COMPACT>
<A NAME="IDX1157"></A>
<A NAME="IDX1158"></A>
<DT><CODE>set trace-commands on</CODE>
<DD>Enable command tracing.
<DT><CODE>set trace-commands off</CODE>
<DD>Disable command tracing.
<DT><CODE>show trace-commands</CODE>
<DD>Display the current state of command tracing.
</DL>
<P>
<A NAME="Debugging Output"></A>
<HR SIZE="6">
<A NAME="SEC228"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC227"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 19.8 Optional Messages about Internal Happenings </H2>
<!--docid::SEC228::-->
<P>
GDB has commands that enable optional debugging messages from
various GDB subsystems; normally these commands are of
interest to GDB maintainers, or when reporting a bug. This
section documents those commands.
</P><P>
<DL COMPACT>
<A NAME="IDX1159"></A>
<DT><CODE>set exec-done-display</CODE>
<DD>Turns on or off the notification of asynchronous commands'
completion. When on, GDB will print a message when an
asynchronous command finishes its execution. The default is off.
<A NAME="IDX1160"></A>
<DT><CODE>show exec-done-display</CODE>
<DD>Displays the current setting of asynchronous command completion
notification.
<A NAME="IDX1161"></A>
<A NAME="IDX1162"></A>
<A NAME="IDX1163"></A>
<DT><CODE>set debug arch</CODE>
<DD>Turns on or off display of gdbarch debugging info. The default is off
<A NAME="IDX1164"></A>
<DT><CODE>show debug arch</CODE>
<DD>Displays the current state of displaying gdbarch debugging info.
<DT><CODE>set debug aix-thread</CODE>
<DD><A NAME="IDX1165"></A>
Display debugging messages about inner workings of the AIX thread
module.
<DT><CODE>show debug aix-thread</CODE>
<DD>Show the current state of AIX thread debugging info display.
<DT><CODE>set debug event</CODE>
<DD><A NAME="IDX1166"></A>
Turns on or off display of GDB event debugging info. The
default is off.
<DT><CODE>show debug event</CODE>
<DD>Displays the current state of displaying GDB event debugging
info.
<DT><CODE>set debug expression</CODE>
<DD><A NAME="IDX1167"></A>
Turns on or off display of debugging info about GDB
expression parsing. The default is off.
<DT><CODE>show debug expression</CODE>
<DD>Displays the current state of displaying debugging info about
GDB expression parsing.
<DT><CODE>set debug frame</CODE>
<DD><A NAME="IDX1168"></A>
Turns on or off display of GDB frame debugging info. The
default is off.
<DT><CODE>show debug frame</CODE>
<DD>Displays the current state of displaying GDB frame debugging
info.
<DT><CODE>set debug infrun</CODE>
<DD><A NAME="IDX1169"></A>
Turns on or off display of GDB debugging info for running the inferior.
The default is off. <TT>`infrun.c'</TT> contains GDB's runtime state machine used
for implementing operations such as single-stepping the inferior.
<DT><CODE>show debug infrun</CODE>
<DD>Displays the current state of GDB inferior debugging.
<DT><CODE>set debug lin-lwp</CODE>
<DD><A NAME="IDX1170"></A>
<A NAME="IDX1171"></A>
Turns on or off debugging messages from the Linux LWP debug support.
<DT><CODE>show debug lin-lwp</CODE>
<DD>Show the current state of Linux LWP debugging messages.
<DT><CODE>set debug observer</CODE>
<DD><A NAME="IDX1172"></A>
Turns on or off display of GDB observer debugging. This
includes info such as the notification of observable events.
<DT><CODE>show debug observer</CODE>
<DD>Displays the current state of observer debugging.
<DT><CODE>set debug overload</CODE>
<DD><A NAME="IDX1173"></A>
Turns on or off display of GDB C<TT>++</TT> overload debugging
info. This includes info such as ranking of functions, etc. The default
is off.
<DT><CODE>show debug overload</CODE>
<DD>Displays the current state of displaying GDB C<TT>++</TT> overload
debugging info.
<A NAME="IDX1174"></A>
<A NAME="IDX1175"></A>
<A NAME="IDX1176"></A>
<A NAME="IDX1177"></A>
<A NAME="IDX1178"></A>
<DT><CODE>set debug remote</CODE>
<DD>Turns on or off display of reports on all packets sent back and forth across
the serial line to the remote machine. The info is printed on the
GDB standard output stream. The default is off.
<DT><CODE>show debug remote</CODE>
<DD>Displays the state of display of remote packets.
<DT><CODE>set debug serial</CODE>
<DD>Turns on or off display of GDB serial debugging info. The
default is off.
<DT><CODE>show debug serial</CODE>
<DD>Displays the current state of displaying GDB serial debugging
info.
<DT><CODE>set debug solib-frv</CODE>
<DD><A NAME="IDX1179"></A>
Turns on or off debugging messages for FR-V shared-library code.
<DT><CODE>show debug solib-frv</CODE>
<DD>Display the current state of FR-V shared-library code debugging
messages.
<DT><CODE>set debug target</CODE>
<DD><A NAME="IDX1180"></A>
Turns on or off display of GDB target debugging info. This info
includes what is going on at the target level of GDB, as it happens. The
default is 0. Set it to 1 to track events, and to 2 to also track the
value of large memory transfers. Changes to this flag do not take effect
until the next time you connect to a target or use the <CODE>run</CODE> command.
<DT><CODE>show debug target</CODE>
<DD>Displays the current state of displaying GDB target debugging
info.
<DT><CODE>set debugvarobj</CODE>
<DD><A NAME="IDX1181"></A>
Turns on or off display of GDB variable object debugging
info. The default is off.
<DT><CODE>show debugvarobj</CODE>
<DD>Displays the current state of displaying GDB variable object
debugging info.
<DT><CODE>set debug xml</CODE>
<DD><A NAME="IDX1182"></A>
Turns on or off debugging messages for built-in XML parsers.
<DT><CODE>show debug xml</CODE>
<DD>Displays the current state of XML debugging messages.
</DL>
<P>
<A NAME="Sequences"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,634 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Sequences</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Sequences">
<META NAME="keywords" CONTENT="Debugging with GDB: Sequences">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC229"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC228"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC230"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 20. Canned Sequences of Commands </H1>
<!--docid::SEC229::-->
<P>
Aside from breakpoint commands (see section <A HREF="gdb_6.html#SEC39">Breakpoint Command Lists</A>), GDB provides two ways to store sequences of
commands for execution as a unit: user-defined commands and command
files.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to define your own commands</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Hooks for user-defined commands</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to write scripts of commands to be stored in a file</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_21.html#SEC233">20.4 Commands for Controlled Output</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for controlled output</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Define"></A>
<HR SIZE="6">
<A NAME="SEC230"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC231"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 20.1 User-defined Commands </H2>
<!--docid::SEC230::-->
<P>
<A NAME="IDX1183"></A>
<A NAME="IDX1184"></A>
A <EM>user-defined command</EM> is a sequence of GDB commands to
which you assign a new name as a command. This is done with the
<CODE>define</CODE> command. User commands may accept up to 10 arguments
separated by whitespace. Arguments are accessed within the user command
via <CODE>$arg0<small>...</small>$arg9</CODE>. A trivial example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>define adder
print $arg0 + $arg1 + $arg2
end
</FONT></pre></td></tr></table></P><P>
To execute the command use:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>adder 1 2 3
</FONT></pre></td></tr></table></P><P>
This defines the command <CODE>adder</CODE>, which prints the sum of
its three arguments. Note the arguments are text substitutions, so they may
reference variables, use complex expressions, or even perform inferior
functions calls.
</P><P>
<A NAME="IDX1185"></A>
<A NAME="IDX1186"></A>
In addition, <CODE>$argc</CODE> may be used to find out how many arguments have
been passed. This expands to a number in the range 0<small>...</small>10.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>define adder
if $argc == 2
print $arg0 + $arg1
end
if $argc == 3
print $arg0 + $arg1 + $arg2
end
end
</FONT></pre></td></tr></table></P><P>
<DL COMPACT>
<A NAME="IDX1187"></A>
<DT><CODE>define <VAR>commandname</VAR></CODE>
<DD>Define a command named <VAR>commandname</VAR>. If there is already a command
by that name, you are asked to confirm that you want to redefine it.
<P>
The definition of the command is made up of other GDB command lines,
which are given following the <CODE>define</CODE> command. The end of these
commands is marked by a line containing <CODE>end</CODE>.
</P><P>
<A NAME="IDX1188"></A>
<A NAME="IDX1189"></A>
<DT><CODE>document <VAR>commandname</VAR></CODE>
<DD>Document the user-defined command <VAR>commandname</VAR>, so that it can be
accessed by <CODE>help</CODE>. The command <VAR>commandname</VAR> must already be
defined. This command reads lines of documentation just as <CODE>define</CODE>
reads the lines of the command definition, ending with <CODE>end</CODE>.
After the <CODE>document</CODE> command is finished, <CODE>help</CODE> on command
<VAR>commandname</VAR> displays the documentation you have written.
<P>
You may use the <CODE>document</CODE> command again to change the
documentation of a command. Redefining the command with <CODE>define</CODE>
does not change the documentation.
</P><P>
<A NAME="IDX1190"></A>
<A NAME="IDX1191"></A>
<DT><CODE>dont-repeat</CODE>
<DD>Used inside a user-defined command, this tells GDB that this
command should not be repeated when the user hits <KBD>RET</KBD>
(see section <A HREF="gdb_4.html#SEC15">repeat last command</A>).
<P>
<A NAME="IDX1192"></A>
<DT><CODE>help user-defined</CODE>
<DD>List all user-defined commands, with the first line of the documentation
(if any) for each.
<P>
<A NAME="IDX1193"></A>
<DT><CODE>show user</CODE>
<DD><DT><CODE>show user <VAR>commandname</VAR></CODE>
<DD>Display the GDB commands used to define <VAR>commandname</VAR> (but
not its documentation). If no <VAR>commandname</VAR> is given, display the
definitions for all user-defined commands.
<P>
<A NAME="IDX1194"></A>
<A NAME="IDX1195"></A>
<A NAME="IDX1196"></A>
<DT><CODE>show max-user-call-depth</CODE>
<DD><DT><CODE>set max-user-call-depth</CODE>
<DD>The value of <CODE>max-user-call-depth</CODE> controls how many recursion
levels are allowed in user-defined commands before GDB suspects an
infinite recursion and aborts the command.
</DL>
<P>
In addition to the above commands, user-defined commands frequently
use control flow commands, described in <A HREF="gdb_21.html#SEC232">20.3 Command Files</A>.
</P><P>
When user-defined commands are executed, the
commands of the definition are not printed. An error in any command
stops execution of the user-defined command.
</P><P>
If used interactively, commands that would ask for confirmation proceed
without asking when used inside a user-defined command. Many GDB
commands that normally print messages to say what they are doing omit the
messages when used in a user-defined command.
</P><P>
<A NAME="Hooks"></A>
<HR SIZE="6">
<A NAME="SEC231"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC230"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC232"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC232"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 20.2 User-defined Command Hooks </H2>
<!--docid::SEC231::-->
<P>
<A NAME="IDX1197"></A>
You may define <EM>hooks</EM>, which are a special kind of user-defined
command. Whenever you run the command <SAMP>`foo'</SAMP>, if the user-defined
command <SAMP>`hook-foo'</SAMP> exists, it is executed (with no arguments)
before that command.
</P><P>
<A NAME="IDX1198"></A>
<A NAME="IDX1199"></A>
A hook may also be defined which is run after the command you executed.
Whenever you run the command <SAMP>`foo'</SAMP>, if the user-defined command
<SAMP>`hookpost-foo'</SAMP> exists, it is executed (with no arguments) after
that command. Post-execution hooks may exist simultaneously with
pre-execution hooks, for the same command.
</P><P>
It is valid for a hook to call the command which it hooks. If this
occurs, the hook is not re-executed, thereby avoiding infinite recursion.
</P><P>
<A NAME="IDX1200"></A>
In addition, a pseudo-command, <SAMP>`stop'</SAMP> exists. Defining
(<SAMP>`hook-stop'</SAMP>) makes the associated commands execute every time
execution stops in your program: before breakpoint commands are run,
displays are printed, or the stack frame is printed.
</P><P>
For example, to ignore <CODE>SIGALRM</CODE> signals while
single-stepping, but treat them normally during normal execution,
you could define:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>define hook-stop
handle SIGALRM nopass
end
define hook-run
handle SIGALRM pass
end
define hook-continue
handle SIGALRM pass
end
</FONT></pre></td></tr></table></P><P>
As a further example, to hook at the beginning and end of the <CODE>echo</CODE>
command, and to add extra text to the beginning and end of the message,
you could define:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>define hook-echo
echo &#60;&#60;&#60;---
end
define hookpost-echo
echo ---&#62;&#62;&#62;\n
end
(gdb) echo Hello World
&#60;&#60;&#60;---Hello World---&#62;&#62;&#62;
(gdb)
</FONT></pre></td></tr></table></P><P>
You can define a hook for any single-word command in GDB, but
not for command aliases; you should define a hook for the basic command
name, e.g. <CODE>backtrace</CODE> rather than <CODE>bt</CODE>.
If an error occurs during the execution of your hook, execution of
GDB commands stops and GDB issues a prompt
(before the command that you actually typed had a chance to run).
</P><P>
If you try to define a hook which does not match any known command, you
get a warning from the <CODE>define</CODE> command.
</P><P>
<A NAME="Command Files"></A>
<HR SIZE="6">
<A NAME="SEC232"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC231"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC233"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC233"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 20.3 Command Files </H2>
<!--docid::SEC232::-->
<P>
<A NAME="IDX1201"></A>
<A NAME="IDX1202"></A>
A command file for GDB is a text file made of lines that are
GDB commands. Comments (lines starting with <KBD>#</KBD>) may
also be included. An empty line in a command file does nothing; it
does not mean to repeat the last command, as it would from the
terminal.
</P><P>
You can request the execution of a command file with the <CODE>source</CODE>
command:
</P><P>
<DL COMPACT>
<A NAME="IDX1203"></A>
<A NAME="IDX1204"></A>
<DT><CODE>source [<CODE>-v</CODE>] <VAR>filename</VAR></CODE>
<DD>Execute the command file <VAR>filename</VAR>.
</DL>
<P>
The lines in a command file are generally executed sequentially,
unless the order of execution is changed by one of the
<EM>flow-control commands</EM> described below. The commands are not
printed as they are executed. An error in any command terminates
execution of the command file and control is returned to the console.
</P><P>
GDB searches for <VAR>filename</VAR> in the current directory and then
on the search path (specified with the <SAMP>`directory'</SAMP> command).
</P><P>
If <CODE>-v</CODE>, for verbose mode, is given then GDB displays
each command as it is executed. The option must be given before
<VAR>filename</VAR>, and is interpreted as part of the filename anywhere else.
</P><P>
Commands that would ask for confirmation if used interactively proceed
without asking when used in a command file. Many GDB commands that
normally print messages to say what they are doing omit the messages
when called from command files.
</P><P>
GDB also accepts command input from standard input. In this
mode, normal output goes to standard output and error output goes to
standard error. Errors in a command file supplied on standard input do
not terminate execution of the command file--execution continues with
the next command.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb &#60; cmds &#62; log 2&#62;&#38;1
</FONT></pre></td></tr></table></P><P>
(The syntax above will vary depending on the shell used.) This example
will execute commands from the file <TT>`cmds'</TT>. All output and errors
would be directed to <TT>`log'</TT>.
</P><P>
Since commands stored on command files tend to be more general than
commands typed interactively, they frequently need to deal with
complicated situations, such as different or unexpected values of
variables and symbols, changes in how the program being debugged is
built, etc. GDB provides a set of flow-control commands to
deal with these complexities. Using these commands, you can write
complex scripts that loop over data structures, execute commands
conditionally, etc.
</P><P>
<DL COMPACT>
<A NAME="IDX1205"></A>
<A NAME="IDX1206"></A>
<DT><CODE>if</CODE>
<DD><DT><CODE>else</CODE>
<DD>This command allows to include in your script conditionally executed
commands. The <CODE>if</CODE> command takes a single argument, which is an
expression to evaluate. It is followed by a series of commands that
are executed only if the expression is true (its value is nonzero).
There can then optionally be an <CODE>else</CODE> line, followed by a series
of commands that are only executed if the expression was false. The
end of the list is marked by a line containing <CODE>end</CODE>.
<P>
<A NAME="IDX1207"></A>
<DT><CODE>while</CODE>
<DD>This command allows to write loops. Its syntax is similar to
<CODE>if</CODE>: the command takes a single argument, which is an expression
to evaluate, and must be followed by the commands to execute, one per
line, terminated by an <CODE>end</CODE>. These commands are called the
<EM>body</EM> of the loop. The commands in the body of <CODE>while</CODE> are
executed repeatedly as long as the expression evaluates to true.
<P>
<A NAME="IDX1208"></A>
<DT><CODE>loop_break</CODE>
<DD>This command exits the <CODE>while</CODE> loop in whose body it is included.
Execution of the script continues after that <CODE>while</CODE>s <CODE>end</CODE>
line.
<P>
<A NAME="IDX1209"></A>
<DT><CODE>loop_continue</CODE>
<DD>This command skips the execution of the rest of the body of commands
in the <CODE>while</CODE> loop in whose body it is included. Execution
branches to the beginning of the <CODE>while</CODE> loop, where it evaluates
the controlling expression.
<P>
<A NAME="IDX1210"></A>
<DT><CODE>end</CODE>
<DD>Terminate the block of commands that are the body of <CODE>if</CODE>,
<CODE>else</CODE>, or <CODE>while</CODE> flow-control commands.
</DL>
<P>
<A NAME="Output"></A>
<HR SIZE="6">
<A NAME="SEC233"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC232"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 20.4 Commands for Controlled Output </H2>
<!--docid::SEC233::-->
<P>
During the execution of a command file or a user-defined command, normal
GDB output is suppressed; the only output that appears is what is
explicitly printed by the commands in the definition. This section
describes three commands useful for generating exactly the output you
want.
</P><P>
<DL COMPACT>
<A NAME="IDX1211"></A>
<DT><CODE>echo <VAR>text</VAR></CODE>
<DD>Print <VAR>text</VAR>. Nonprinting characters can be included in
<VAR>text</VAR> using C escape sequences, such as <SAMP>`\n'</SAMP> to print a
newline. <STRONG>No newline is printed unless you specify one.</STRONG>
In addition to the standard C escape sequences, a backslash followed
by a space stands for a space. This is useful for displaying a
string with spaces at the beginning or the end, since leading and
trailing spaces are otherwise trimmed from all arguments.
To print <SAMP>` and foo = '</SAMP>, use the command
<SAMP>`echo \ and foo = \ '</SAMP>.
<P>
A backslash at the end of <VAR>text</VAR> can be used, as in C, to continue
the command onto subsequent lines. For example,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>echo This is some text\n\
which is continued\n\
onto several lines.\n
</FONT></pre></td></tr></table></P><P>
produces the same output as
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>echo This is some text\n
echo which is continued\n
echo onto several lines.\n
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX1212"></A>
<DT><CODE>output <VAR>expression</VAR></CODE>
<DD>Print the value of <VAR>expression</VAR> and nothing but that value: no
newlines, no <SAMP>`$<VAR>nn</VAR> = '</SAMP>. The value is not entered in the
value history either. See section <A HREF="gdb_9.html#SEC60">Expressions</A>, for more information
on expressions.
<P>
<DT><CODE>output/<VAR>fmt</VAR> <VAR>expression</VAR></CODE>
<DD>Print the value of <VAR>expression</VAR> in format <VAR>fmt</VAR>. You can use
the same formats as for <CODE>print</CODE>. See section <A HREF="gdb_9.html#SEC63">Output Formats</A>, for more information.
<P>
<A NAME="IDX1213"></A>
<DT><CODE>printf <VAR>template</VAR>, <VAR>expressions</VAR><small>...</small></CODE>
<DD>Print the values of one or more <VAR>expressions</VAR> under the control of
the string <VAR>template</VAR>. To print several values, make
<VAR>expressions</VAR> be a comma-separated list of individual expressions,
which may be either numbers or pointers. Their values are printed as
specified by <VAR>template</VAR>, exactly as a C program would do by
executing the code below:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>printf (<VAR>template</VAR>, <VAR>expressions</VAR><small>...</small>);
</FONT></pre></td></tr></table></P><P>
As in <CODE>C</CODE> <CODE>printf</CODE>, ordinary characters in <VAR>template</VAR>
are printed verbatim, while <EM>conversion specification</EM> introduced
by the <SAMP>`%'</SAMP> character cause subsequent <VAR>expressions</VAR> to be
evaluated, their values converted and formatted according to type and
style information encoded in the conversion specifications, and then
printed.
</P><P>
For example, you can print two values in hex like this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>printf "foo, bar-foo = 0x%x, 0x%x\n", foo, bar-foo
</FONT></pre></td></tr></table></P><P>
<CODE>printf</CODE> supports all the standard <CODE>C</CODE> conversion
specifications, including the flags and modifiers between the <SAMP>`%'</SAMP>
character and the conversion letter, with the following exceptions:
</P><P>
<UL>
<LI>
The argument-ordering modifiers, such as <SAMP>`2$'</SAMP>, are not supported.
<P>
<LI>
The modifier <SAMP>`*'</SAMP> is not supported for specifying precision or
width.
<P>
<LI>
The <SAMP>`''</SAMP> flag (for separation of digits into groups according to
<CODE>LC_NUMERIC'</CODE>) is not supported.
<P>
<LI>
The type modifiers <SAMP>`hh'</SAMP>, <SAMP>`j'</SAMP>, <SAMP>`t'</SAMP>, and <SAMP>`z'</SAMP> are not
supported.
<P>
<LI>
The conversion letter <SAMP>`n'</SAMP> (as in <SAMP>`%n'</SAMP>) is not supported.
<P>
<LI>
The conversion letters <SAMP>`a'</SAMP> and <SAMP>`A'</SAMP> are not supported.
</UL>
<P>
Note that the <SAMP>`ll'</SAMP> type modifier is supported only if the
underlying <CODE>C</CODE> implementation used to build GDB supports
the <CODE>long long int</CODE> type, and the <SAMP>`L'</SAMP> type modifier is
supported only if <CODE>long double</CODE> type is available.
</P><P>
As in <CODE>C</CODE>, <CODE>printf</CODE> supports simple backslash-escape
sequences, such as <CODE>\n</CODE>, <SAMP>`\t'</SAMP>, <SAMP>`\\'</SAMP>, <SAMP>`\"'</SAMP>,
<SAMP>`\a'</SAMP>, and <SAMP>`\f'</SAMP>, that consist of backslash followed by a
single character. Octal and hexadecimal escape sequences are not
supported.
</P><P>
Additionally, <CODE>printf</CODE> supports conversion specifications for DFP
(<EM>Decimal Floating Point</EM>) types using the following length modifiers
together with a floating point specifier.
letters:
</P><P>
<UL>
<LI>
<SAMP>`H'</SAMP> for printing <CODE>Decimal32</CODE> types.
<P>
<LI>
<SAMP>`D'</SAMP> for printing <CODE>Decimal64</CODE> types.
<P>
<LI>
<SAMP>`DD'</SAMP> for printing <CODE>Decimal128</CODE> types.
</UL>
<P>
If the underlying <CODE>C</CODE> implementation used to build GDB has
support for the three length modifiers for DFP types, other modifiers
such as width and precision will also be available for GDB to use.
</P><P>
In case there is no such <CODE>C</CODE> support, no additional modifiers will be
available and the value will be printed in the standard way.
</P><P>
Here's an example of printing DFP types using the above conversion letters:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>printf "D32: %Hf - D64: %Df - D128: %DDf\n",1.2345df,1.2E10dd,1.2E1dl
</FONT></pre></td></tr></table></P><P>
</DL>
<P>
<A NAME="Interpreters"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC229"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,147 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Interpreters</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Interpreters">
<META NAME="keywords" CONTENT="Debugging with GDB: Interpreters">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC234"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_21.html#SEC233"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 21. Command Interpreters </H1>
<!--docid::SEC234::-->
<P>
GDB supports multiple command interpreters, and some command
infrastructure to allow users or user interface writers to switch
between interpreters or run commands in other interpreters.
</P><P>
GDB currently supports two command interpreters, the console
interpreter (sometimes called the command-line interpreter or CLI)
and the machine interface interpreter (or GDB/MI). This manual
describes both of these interfaces in great detail.
</P><P>
By default, GDB will start with the console interpreter.
However, the user may choose to start GDB with another
interpreter by specifying the <SAMP>`-i'</SAMP> or <SAMP>`--interpreter'</SAMP>
startup options. Defined interpreters include:
</P><P>
<DL COMPACT>
<DT><CODE>console</CODE>
<DD><A NAME="IDX1214"></A>
The traditional console or command-line interpreter. This is the most often
used interpreter with GDB. With no interpreter specified at runtime,
GDB will use this interpreter.
<P>
<DT><CODE>mi</CODE>
<DD><A NAME="IDX1215"></A>
The newest GDB/MI interface (currently <CODE>mi2</CODE>). Used primarily
by programs wishing to use GDB as a backend for a debugger GUI
or an IDE. For more information, see <A HREF="gdb_25.html#SEC242">The GDB/MI Interface</A>.
<P>
<DT><CODE>mi2</CODE>
<DD><A NAME="IDX1216"></A>
The current GDB/MI interface.
<P>
<DT><CODE>mi1</CODE>
<DD><A NAME="IDX1217"></A>
The GDB/MI interface included in GDB 5.1, 5.2, and 5.3.
<P>
</DL>
<P>
<A NAME="IDX1218"></A>
The interpreter being used by GDB may not be dynamically
switched at runtime. Although possible, this could lead to a very
precarious situation. Consider an IDE using GDB/MI. If a user
enters the command "interpreter-set console" in a console view,
GDB would switch to using the console interpreter, rendering
the IDE inoperable!
</P><P>
<A NAME="IDX1219"></A>
Although you may only choose a single interpreter at startup, you may execute
commands in any interpreter from the current interpreter using the appropriate
command. If you are running the console interpreter, simply use the
<CODE>interpreter-exec</CODE> command:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>interpreter-exec mi "-data-list-register-names"
</FONT></pre></td></tr></table></P><P>
GDB/MI has a similar command, although it is only available in versions of
GDB which support GDB/MI version 2 (or greater).
</P><P>
<A NAME="TUI"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,654 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: TUI</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: TUI">
<META NAME="keywords" CONTENT="Debugging with GDB: TUI">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC235"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_22.html#SEC234"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC236"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 22. GDB Text User Interface </H1>
<!--docid::SEC235::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC236">22.1 TUI Overview</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">TUI overview</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">TUI key bindings</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">TUI single key mode</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">TUI-specific commands</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">TUI configuration variables</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
The GDB Text User Interface (TUI) is a terminal
interface which uses the <CODE>curses</CODE> library to show the source
file, the assembly output, the program registers and GDB
commands in separate text windows. The TUI mode is supported only
on platforms where a suitable version of the <CODE>curses</CODE> library
is available.
</P><P>
<A NAME="IDX1220"></A>
The TUI mode is enabled by default when you invoke GDB as
either <SAMP>`gdbtui'</SAMP> or <SAMP>`gdb -tui'</SAMP>.
You can also switch in and out of TUI mode while GDB runs by
using various TUI commands and key bindings, such as <KBD>C-x C-a</KBD>.
See section <A HREF="gdb_23.html#SEC237">TUI Key Bindings</A>.
</P><P>
<A NAME="TUI Overview"></A>
<HR SIZE="6">
<A NAME="SEC236"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC237"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 22.1 TUI Overview </H2>
<!--docid::SEC236::-->
<P>
In TUI mode, GDB can display several text windows:
</P><P>
<DL COMPACT>
<DT><EM>command</EM>
<DD>This window is the GDB command window with the GDB
prompt and the GDB output. The GDB input is still
managed using readline.
<P>
<DT><EM>source</EM>
<DD>The source window shows the source file of the program. The current
line and active breakpoints are displayed in this window.
<P>
<DT><EM>assembly</EM>
<DD>The assembly window shows the disassembly output of the program.
<P>
<DT><EM>register</EM>
<DD>This window shows the processor registers. Registers are highlighted
when their values change.
</DL>
<P>
The source and assembly windows show the current program position
by highlighting the current line and marking it with a <SAMP>`&#62;'</SAMP> marker.
Breakpoints are indicated with two markers. The first marker
indicates the breakpoint type:
</P><P>
<DL COMPACT>
<DT><CODE>B</CODE>
<DD>Breakpoint which was hit at least once.
<P>
<DT><CODE>b</CODE>
<DD>Breakpoint which was never hit.
<P>
<DT><CODE>H</CODE>
<DD>Hardware breakpoint which was hit at least once.
<P>
<DT><CODE>h</CODE>
<DD>Hardware breakpoint which was never hit.
</DL>
<P>
The second marker indicates whether the breakpoint is enabled or not:
</P><P>
<DL COMPACT>
<DT><CODE>+</CODE>
<DD>Breakpoint is enabled.
<P>
<DT><CODE>-</CODE>
<DD>Breakpoint is disabled.
</DL>
<P>
The source, assembly and register windows are updated when the current
thread changes, when the frame changes, or when the program counter
changes.
</P><P>
These windows are not all visible at the same time. The command
window is always visible. The others can be arranged in several
layouts:
</P><P>
<UL>
<LI>
source only,
<P>
<LI>
assembly only,
<P>
<LI>
source and assembly,
<P>
<LI>
source and registers, or
<P>
<LI>
assembly and registers.
</UL>
<P>
A status line above the command window shows the following information:
</P><P>
<DL COMPACT>
<DT><EM>target</EM>
<DD>Indicates the current GDB target.
(see section <A HREF="gdb_17.html#SEC158">Specifying a Debugging Target</A>).
<P>
<DT><EM>process</EM>
<DD>Gives the current process or thread number.
When no process is being debugged, this field is set to <CODE>No process</CODE>.
<P>
<DT><EM>function</EM>
<DD>Gives the current function name for the selected frame.
The name is demangled if demangling is turned on (see section <A HREF="gdb_9.html#SEC66">8.7 Print Settings</A>).
When there is no symbol corresponding to the current program counter,
the string <CODE>??</CODE> is displayed.
<P>
<DT><EM>line</EM>
<DD>Indicates the current line number for the selected frame.
When the current line number is not known, the string <CODE>??</CODE> is displayed.
<P>
<DT><EM>pc</EM>
<DD>Indicates the current program counter address.
</DL>
<P>
<A NAME="TUI Keys"></A>
<HR SIZE="6">
<A NAME="SEC237"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC236"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC238"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC238"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 22.2 TUI Key Bindings </H2>
<!--docid::SEC237::-->
<P>
The TUI installs several key bindings in the readline keymaps
(see section <A HREF="gdb_28.html#SEC657">27. Command Line Editing</A>). The following key bindings
are installed for both TUI mode and the GDB standard mode.
</P><P>
<DL COMPACT>
<A NAME="IDX1221"></A>
<DT><KBD>C-x C-a</KBD>
<DD><A NAME="IDX1222"></A>
<DT><KBD>C-x a</KBD>
<DD><A NAME="IDX1223"></A>
<DT><KBD>C-x A</KBD>
<DD>Enter or leave the TUI mode. When leaving the TUI mode,
the curses window management stops and GDB operates using
its standard mode, writing on the terminal directly. When reentering
the TUI mode, control is given back to the curses windows.
The screen is then refreshed.
<P>
<A NAME="IDX1224"></A>
<DT><KBD>C-x 1</KBD>
<DD>Use a TUI layout with only one window. The layout will
either be <SAMP>`source'</SAMP> or <SAMP>`assembly'</SAMP>. When the TUI mode
is not active, it will switch to the TUI mode.
<P>
Think of this key binding as the Emacs <KBD>C-x 1</KBD> binding.
</P><P>
<A NAME="IDX1225"></A>
<DT><KBD>C-x 2</KBD>
<DD>Use a TUI layout with at least two windows. When the current
layout already has two windows, the next layout with two windows is used.
When a new layout is chosen, one window will always be common to the
previous layout and the new one.
<P>
Think of it as the Emacs <KBD>C-x 2</KBD> binding.
</P><P>
<A NAME="IDX1226"></A>
<DT><KBD>C-x o</KBD>
<DD>Change the active window. The TUI associates several key bindings
(like scrolling and arrow keys) with the active window. This command
gives the focus to the next TUI window.
<P>
Think of it as the Emacs <KBD>C-x o</KBD> binding.
</P><P>
<A NAME="IDX1227"></A>
<DT><KBD>C-x s</KBD>
<DD>Switch in and out of the TUI SingleKey mode that binds single
keys to GDB commands (see section <A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A>).
</DL>
<P>
The following key bindings only work in the TUI mode:
</P><P>
<DL COMPACT>
<A NAME="IDX1228"></A>
<DT><KBD>PgUp</KBD>
<DD>Scroll the active window one page up.
<P>
<A NAME="IDX1229"></A>
<DT><KBD>PgDn</KBD>
<DD>Scroll the active window one page down.
<P>
<A NAME="IDX1230"></A>
<DT><KBD>Up</KBD>
<DD>Scroll the active window one line up.
<P>
<A NAME="IDX1231"></A>
<DT><KBD>Down</KBD>
<DD>Scroll the active window one line down.
<P>
<A NAME="IDX1232"></A>
<DT><KBD>Left</KBD>
<DD>Scroll the active window one column left.
<P>
<A NAME="IDX1233"></A>
<DT><KBD>Right</KBD>
<DD>Scroll the active window one column right.
<P>
<A NAME="IDX1234"></A>
<DT><KBD>C-L</KBD>
<DD>Refresh the screen.
</DL>
<P>
Because the arrow keys scroll the active window in the TUI mode, they
are not available for their normal use by readline unless the command
window has the focus. When another window is active, you must use
other readline key bindings such as <KBD>C-p</KBD>, <KBD>C-n</KBD>, <KBD>C-b</KBD>
and <KBD>C-f</KBD> to control the command window.
</P><P>
<A NAME="TUI Single Key Mode"></A>
<HR SIZE="6">
<A NAME="SEC238"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC237"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC239"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC239"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 22.3 TUI Single Key Mode </H2>
<!--docid::SEC238::-->
<P>
The TUI also provides a <EM>SingleKey</EM> mode, which binds several
frequently used GDB commands to single keys. Type <KBD>C-x s</KBD> to
switch into this mode, where the following key bindings are used:
</P><P>
<DL COMPACT>
<A NAME="IDX1235"></A>
<DT><KBD>c</KBD>
<DD>continue
<P>
<A NAME="IDX1236"></A>
<DT><KBD>d</KBD>
<DD>down
<P>
<A NAME="IDX1237"></A>
<DT><KBD>f</KBD>
<DD>finish
<P>
<A NAME="IDX1238"></A>
<DT><KBD>n</KBD>
<DD>next
<P>
<A NAME="IDX1239"></A>
<DT><KBD>q</KBD>
<DD>exit the SingleKey mode.
<P>
<A NAME="IDX1240"></A>
<DT><KBD>r</KBD>
<DD>run
<P>
<A NAME="IDX1241"></A>
<DT><KBD>s</KBD>
<DD>step
<P>
<A NAME="IDX1242"></A>
<DT><KBD>u</KBD>
<DD>up
<P>
<A NAME="IDX1243"></A>
<DT><KBD>v</KBD>
<DD>info locals
<P>
<A NAME="IDX1244"></A>
<DT><KBD>w</KBD>
<DD>where
</DL>
<P>
Other keys temporarily switch to the GDB command prompt.
The key that was pressed is inserted in the editing buffer so that
it is possible to type most GDB commands without interaction
with the TUI SingleKey mode. Once the command is entered the TUI
SingleKey mode is restored. The only way to permanently leave
this mode is by typing <KBD>q</KBD> or <KBD>C-x s</KBD>.
</P><P>
<A NAME="TUI Commands"></A>
<HR SIZE="6">
<A NAME="SEC239"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC238"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC240"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC240"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 22.4 TUI-specific Commands </H2>
<!--docid::SEC239::-->
<P>
The TUI has specific commands to control the text windows.
These commands are always available, even when GDB is not in
the TUI mode. When GDB is in the standard mode, most
of these commands will automatically switch to the TUI mode.
</P><P>
<DL COMPACT>
<DT><CODE>info win</CODE>
<DD><A NAME="IDX1245"></A>
List and give the size of all displayed windows.
<P>
<DT><CODE>layout next</CODE>
<DD><A NAME="IDX1246"></A>
Display the next layout.
<P>
<DT><CODE>layout prev</CODE>
<DD>Display the previous layout.
<P>
<DT><CODE>layout src</CODE>
<DD>Display the source window only.
<P>
<DT><CODE>layout asm</CODE>
<DD>Display the assembly window only.
<P>
<DT><CODE>layout split</CODE>
<DD>Display the source and assembly window.
<P>
<DT><CODE>layout regs</CODE>
<DD>Display the register window together with the source or assembly window.
<P>
<DT><CODE>focus next</CODE>
<DD><A NAME="IDX1247"></A>
Make the next window active for scrolling.
<P>
<DT><CODE>focus prev</CODE>
<DD>Make the previous window active for scrolling.
<P>
<DT><CODE>focus src</CODE>
<DD>Make the source window active for scrolling.
<P>
<DT><CODE>focus asm</CODE>
<DD>Make the assembly window active for scrolling.
<P>
<DT><CODE>focus regs</CODE>
<DD>Make the register window active for scrolling.
<P>
<DT><CODE>focus cmd</CODE>
<DD>Make the command window active for scrolling.
<P>
<DT><CODE>refresh</CODE>
<DD><A NAME="IDX1248"></A>
Refresh the screen. This is similar to typing <KBD>C-L</KBD>.
<P>
<DT><CODE>tui reg float</CODE>
<DD><A NAME="IDX1249"></A>
Show the floating point registers in the register window.
<P>
<DT><CODE>tui reg general</CODE>
<DD>Show the general registers in the register window.
<P>
<DT><CODE>tui reg next</CODE>
<DD>Show the next register group. The list of register groups as well as
their order is target specific. The predefined register groups are the
following: <CODE>general</CODE>, <CODE>float</CODE>, <CODE>system</CODE>, <CODE>vector</CODE>,
<CODE>all</CODE>, <CODE>save</CODE>, <CODE>restore</CODE>.
<P>
<DT><CODE>tui reg system</CODE>
<DD>Show the system registers in the register window.
<P>
<DT><CODE>update</CODE>
<DD><A NAME="IDX1250"></A>
Update the source window and the current execution point.
<P>
<DT><CODE>winheight <VAR>name</VAR> +<VAR>count</VAR></CODE>
<DD><DT><CODE>winheight <VAR>name</VAR> -<VAR>count</VAR></CODE>
<DD><A NAME="IDX1251"></A>
Change the height of the window <VAR>name</VAR> by <VAR>count</VAR>
lines. Positive counts increase the height, while negative counts
decrease it.
<P>
<DT><CODE>tabset <VAR>nchars</VAR></CODE>
<DD><A NAME="IDX1252"></A>
Set the width of tab stops to be <VAR>nchars</VAR> characters.
</DL>
<P>
<A NAME="TUI Configuration"></A>
<HR SIZE="6">
<A NAME="SEC240"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC239"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 22.5 TUI Configuration Variables </H2>
<!--docid::SEC240::-->
<P>
Several configuration variables control the appearance of TUI windows.
</P><P>
<DL COMPACT>
<DT><CODE>set tui border-kind <VAR>kind</VAR></CODE>
<DD><A NAME="IDX1253"></A>
Select the border appearance for the source, assembly and register windows.
The possible values are the following:
<DL COMPACT>
<DT><CODE>space</CODE>
<DD>Use a space character to draw the border.
<P>
<DT><CODE>ascii</CODE>
<DD>Use ASCII characters <SAMP>`+'</SAMP>, <SAMP>`-'</SAMP> and <SAMP>`|'</SAMP> to draw the border.
<P>
<DT><CODE>acs</CODE>
<DD>Use the Alternate Character Set to draw the border. The border is
drawn using character line graphics if the terminal supports them.
</DL>
<P>
<DT><CODE>set tui border-mode <VAR>mode</VAR></CODE>
<DD><A NAME="IDX1254"></A>
<DT><CODE>set tui active-border-mode <VAR>mode</VAR></CODE>
<DD><A NAME="IDX1255"></A>
Select the display attributes for the borders of the inactive windows
or the active window. The <VAR>mode</VAR> can be one of the following:
<DL COMPACT>
<DT><CODE>normal</CODE>
<DD>Use normal attributes to display the border.
<P>
<DT><CODE>standout</CODE>
<DD>Use standout mode.
<P>
<DT><CODE>reverse</CODE>
<DD>Use reverse video mode.
<P>
<DT><CODE>half</CODE>
<DD>Use half bright mode.
<P>
<DT><CODE>half-standout</CODE>
<DD>Use half bright and standout mode.
<P>
<DT><CODE>bold</CODE>
<DD>Use extra bright or bold mode.
<P>
<DT><CODE>bold-standout</CODE>
<DD>Use extra bright or bold and standout mode.
</DL>
</DL>
<P>
<A NAME="Emacs"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC235"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,241 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Emacs</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Emacs">
<META NAME="keywords" CONTENT="Debugging with GDB: Emacs">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC241"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_23.html#SEC240"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 23. Using GDB under GNU Emacs </H1>
<!--docid::SEC241::-->
<P>
<A NAME="IDX1256"></A>
<A NAME="IDX1257"></A>
A special interface allows you to use GNU Emacs to view (and
edit) the source files for the program you are debugging with
GDB.
</P><P>
To use this interface, use the command <KBD>M-x gdb</KBD> in Emacs. Give the
executable file you want to debug as an argument. This command starts
GDB as a subprocess of Emacs, with input and output through a newly
created Emacs buffer.
</P><P>
Running GDB under Emacs can be just like running GDB normally except for two
things:
</P><P>
<UL>
<LI>
All "terminal" input and output goes through an Emacs buffer, called
the GUD buffer.
<P>
This applies both to GDB commands and their output, and to the input
and output done by the program you are debugging.
</P><P>
This is useful because it means that you can copy the text of previous
commands and input them again; you can even use parts of the output
in this way.
</P><P>
All the facilities of Emacs' Shell mode are available for interacting
with your program. In particular, you can send signals the usual
way--for example, <KBD>C-c C-c</KBD> for an interrupt, <KBD>C-c C-z</KBD> for a
stop.
</P><P>
<LI>
GDB displays source code through Emacs.
<P>
Each time GDB displays a stack frame, Emacs automatically finds the
source file for that frame and puts an arrow (<SAMP>`=&#62;'</SAMP>) at the
left margin of the current line. Emacs uses a separate buffer for
source display, and splits the screen to show both your GDB session
and the source.
</P><P>
Explicit GDB <CODE>list</CODE> or search commands still produce output as
usual, but you probably have no reason to use them from Emacs.
</UL>
<P>
We call this <EM>text command mode</EM>. Emacs 22.1, and later, also uses
a graphical mode, enabled by default, which provides further buffers
that can control the execution and describe the state of your program.
See section `GDB Graphical Interface' in <CITE>The GNU Emacs Manual</CITE>.
</P><P>
If you specify an absolute file name when prompted for the <KBD>M-x
gdb</KBD> argument, then Emacs sets your current working directory to where
your program resides. If you only specify the file name, then Emacs
sets your current working directory to to the directory associated
with the previous buffer. In this case, GDB may find your
program by searching your environment's <CODE>PATH</CODE> variable, but on
some operating systems it might not find the source. So, although the
GDB input and output session proceeds normally, the auxiliary
buffer does not display the current source and line of execution.
</P><P>
The initial working directory of GDB is printed on the top
line of the GUD buffer and this serves as a default for the commands
that specify files for GDB to operate on. See section <A HREF="gdb_16.html#SEC155">Commands to Specify Files</A>.
</P><P>
By default, <KBD>M-x gdb</KBD> calls the program called <TT>`gdb'</TT>. If you
need to call GDB by a different name (for example, if you
keep several configurations around, with different names) you can
customize the Emacs variable <CODE>gud-gdb-command-name</CODE> to run the
one you want.
</P><P>
In the GUD buffer, you can use these special Emacs commands in
addition to the standard Shell mode commands:
</P><P>
<DL COMPACT>
<DT><KBD>C-h m</KBD>
<DD>Describe the features of Emacs' GUD Mode.
<P>
<DT><KBD>C-c C-s</KBD>
<DD>Execute to another source line, like the GDB <CODE>step</CODE> command; also
update the display window to show the current file and location.
<P>
<DT><KBD>C-c C-n</KBD>
<DD>Execute to next source line in this function, skipping all function
calls, like the GDB <CODE>next</CODE> command. Then update the display window
to show the current file and location.
<P>
<DT><KBD>C-c C-i</KBD>
<DD>Execute one instruction, like the GDB <CODE>stepi</CODE> command; update
display window accordingly.
<P>
<DT><KBD>C-c C-f</KBD>
<DD>Execute until exit from the selected stack frame, like the GDB
<CODE>finish</CODE> command.
<P>
<DT><KBD>C-c C-r</KBD>
<DD>Continue execution of your program, like the GDB <CODE>continue</CODE>
command.
<P>
<DT><KBD>C-c &#60;</KBD>
<DD>Go up the number of frames indicated by the numeric argument
(see section `Numeric Arguments' in <CITE>The GNU Emacs Manual</CITE>),
like the GDB <CODE>up</CODE> command.
<P>
<DT><KBD>C-c &#62;</KBD>
<DD>Go down the number of frames indicated by the numeric argument, like the
GDB <CODE>down</CODE> command.
</DL>
<P>
In any source file, the Emacs command <KBD>C-x <KBD>SPC</KBD></KBD> (<CODE>gud-break</CODE>)
tells GDB to set a breakpoint on the source line point is on.
</P><P>
In text command mode, if you type <KBD>M-x speedbar</KBD>, Emacs displays a
separate frame which shows a backtrace when the GUD buffer is current.
Move point to any frame in the stack and type <KBD>RET</KBD> to make it
become the current frame and display the associated source in the
source buffer. Alternatively, click <KBD>Mouse-2</KBD> to make the
selected frame become the current one. In graphical mode, the
speedbar displays watch expressions.
</P><P>
If you accidentally delete the source-display buffer, an easy way to get
it back is to type the command <CODE>f</CODE> in the GDB buffer, to
request a frame display; when you run under Emacs, this recreates
the source buffer if necessary to show you the context of the current
frame.
</P><P>
The source files displayed in Emacs are in ordinary Emacs buffers
which are visiting the source files in the usual way. You can edit
the files with these buffers if you wish; but keep in mind that GDB
communicates with Emacs in terms of line numbers. If you add or
delete lines from the text, the line numbers that GDB knows cease
to correspond properly with the code.
</P><P>
A more detailed description of Emacs' interaction with GDB is
given in the Emacs manual (see section `Debuggers' in <CITE>The GNU Emacs Manual</CITE>).
</P><P>
<A NAME="GDB/MI"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,526 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Annotations</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Annotations">
<META NAME="keywords" CONTENT="Debugging with GDB: Annotations">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC646"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC608"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC647"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 25. GDB Annotations </H1>
<!--docid::SEC646::-->
<P>
This chapter describes annotations in GDB. Annotations were
designed to interface GDB to graphical user interfaces or other
similar programs which want to interact with GDB at a
relatively high level.
</P><P>
The annotation mechanism has largely been superseded by GDB/MI
(see section <A HREF="gdb_25.html#SEC242">24. The GDB/MI Interface</A>).
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC647">25.1 What is an Annotation?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What annotations are; the general syntax.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC648">25.2 The Server Prefix</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Issuing a command without affecting user state.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Annotations marking GDB's need for input.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC650">25.4 Errors</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Annotations for error messages.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC651">25.5 Invalidation Notices</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Some annotations describe things now invalid.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Whether the program is running, how it stopped, etc.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_26.html#SEC653">25.7 Displaying Source</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Annotations describing source code.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Annotations Overview"></A>
<HR SIZE="6">
<A NAME="SEC647"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC648"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.1 What is an Annotation? </H2>
<!--docid::SEC647::-->
<P>
Annotations start with a newline character, two <SAMP>`control-z'</SAMP>
characters, and the name of the annotation. If there is no additional
information associated with this annotation, the name of the annotation
is followed immediately by a newline. If there is additional
information, the name of the annotation is followed by a space, the
additional information, and a newline. The additional information
cannot contain newline characters.
</P><P>
Any output not beginning with a newline and two <SAMP>`control-z'</SAMP>
characters denotes literal output from GDB. Currently there is
no need for GDB to output a newline followed by two
<SAMP>`control-z'</SAMP> characters, but if there was such a need, the
annotations could be extended with an <SAMP>`escape'</SAMP> annotation which
means those three characters as output.
</P><P>
The annotation <VAR>level</VAR>, which is specified using the
<SAMP>`--annotate'</SAMP> command line option (see section <A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A>), controls
how much information GDB prints together with its prompt,
values of expressions, source lines, and other types of output. Level 0
is for no annotations, level 1 is for use when GDB is run as a
subprocess of GNU Emacs, level 3 is the maximum annotation suitable
for programs that control GDB, and level 2 annotations have
been made obsolete (see section `Limitations of the Annotation Interface' in <CITE>GDB's Obsolete Annotations</CITE>).
</P><P>
<DL COMPACT>
<A NAME="IDX1290"></A>
<DT><CODE>set annotate <VAR>level</VAR></CODE>
<DD>The GDB command <CODE>set annotate</CODE> sets the level of
annotations to the specified <VAR>level</VAR>.
<P>
<DT><CODE>show annotate</CODE>
<DD><A NAME="IDX1291"></A>
Show the current annotation level.
</DL>
<P>
This chapter describes level 3 annotations.
</P><P>
A simple example of starting up GDB with annotations is:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ <KBD>gdb --annotate=3</KBD>
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it
under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty"
for details.
This GDB was configured as "i386-pc-linux-gnu"
^Z^Zpre-prompt
(gdb)
^Z^Zprompt
<KBD>quit</KBD>
^Z^Zpost-prompt
$
</FONT></pre></td></tr></table></P><P>
Here <SAMP>`quit'</SAMP> is input to GDB; the rest is output from
GDB. The three lines beginning <SAMP>`^Z^Z'</SAMP> (where <SAMP>`^Z'</SAMP>
denotes a <SAMP>`control-z'</SAMP> character) are annotations; the rest is
output from GDB.
</P><P>
<A NAME="Server Prefix"></A>
<HR SIZE="6">
<A NAME="SEC648"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC647"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC649"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC649"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.2 The Server Prefix </H2>
<!--docid::SEC648::-->
<P>
If you prefix a command with <SAMP>`server '</SAMP> then it will not affect
the command history, nor will it affect GDB's notion of which
command to repeat if <KBD>RET</KBD> is pressed on a line by itself. This
means that commands can be run behind a user's back by a front-end in
a transparent manner.
</P><P>
The server prefix does not affect the recording of values into the value
history; to print a value without recording it into the value history,
use the <CODE>output</CODE> command instead of the <CODE>print</CODE> command.
</P><P>
<A NAME="Prompting"></A>
<HR SIZE="6">
<A NAME="SEC649"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC648"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC650"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC650"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.3 Annotation for GDB Input </H2>
<!--docid::SEC649::-->
<P>
<A NAME="IDX1292"></A>
When GDB prompts for input, it annotates this fact so it is possible
to know when to send output, when the output from a given command is
over, etc.
</P><P>
Different kinds of input each have a different <EM>input type</EM>. Each
input type has three annotations: a <CODE>pre-</CODE> annotation, which
denotes the beginning of any prompt which is being output, a plain
annotation, which denotes the end of the prompt, and then a <CODE>post-</CODE>
annotation which denotes the end of any echo which may (or may not) be
associated with the input. For example, the <CODE>prompt</CODE> input type
features the following annotations:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zpre-prompt
^Z^Zprompt
^Z^Zpost-prompt
</FONT></pre></td></tr></table></P><P>
The input types are
</P><P>
<DL COMPACT>
<A NAME="IDX1293"></A>
<A NAME="IDX1294"></A>
<A NAME="IDX1295"></A>
<DT><CODE>prompt</CODE>
<DD>When GDB is prompting for a command (the main GDB prompt).
<P>
<A NAME="IDX1296"></A>
<A NAME="IDX1297"></A>
<A NAME="IDX1298"></A>
<DT><CODE>commands</CODE>
<DD>When GDB prompts for a set of commands, like in the <CODE>commands</CODE>
command. The annotations are repeated for each command which is input.
<P>
<A NAME="IDX1299"></A>
<A NAME="IDX1300"></A>
<A NAME="IDX1301"></A>
<DT><CODE>overload-choice</CODE>
<DD>When GDB wants the user to select between various overloaded functions.
<P>
<A NAME="IDX1302"></A>
<A NAME="IDX1303"></A>
<A NAME="IDX1304"></A>
<DT><CODE>query</CODE>
<DD>When GDB wants the user to confirm a potentially dangerous operation.
<P>
<A NAME="IDX1305"></A>
<A NAME="IDX1306"></A>
<A NAME="IDX1307"></A>
<DT><CODE>prompt-for-continue</CODE>
<DD>When GDB is asking the user to press return to continue. Note: Don't
expect this to work well; instead use <CODE>set height 0</CODE> to disable
prompting. This is because the counting of lines is buggy in the
presence of annotations.
</DL>
<P>
<A NAME="Errors"></A>
<HR SIZE="6">
<A NAME="SEC650"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC649"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC651"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC651"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.4 Errors </H2>
<!--docid::SEC650::-->
<P>
<A NAME="IDX1308"></A>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zquit
</FONT></pre></td></tr></table></P><P>
This annotation occurs right before GDB responds to an interrupt.
</P><P>
<A NAME="IDX1309"></A>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zerror
</FONT></pre></td></tr></table></P><P>
This annotation occurs right before GDB responds to an error.
</P><P>
Quit and error annotations indicate that any annotations which GDB was
in the middle of may end abruptly. For example, if a
<CODE>value-history-begin</CODE> annotation is followed by a <CODE>error</CODE>, one
cannot expect to receive the matching <CODE>value-history-end</CODE>. One
cannot expect not to receive it either, however; an error annotation
does not necessarily mean that GDB is immediately returning all the way
to the top level.
</P><P>
<A NAME="IDX1310"></A>
A quit or error annotation may be preceded by
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zerror-begin
</FONT></pre></td></tr></table></P><P>
Any output between that and the quit or error annotation is the error
message.
</P><P>
Warning messages are not yet annotated.
</P><P>
<A NAME="Invalidation"></A>
<HR SIZE="6">
<A NAME="SEC651"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC650"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC652"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC652"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.5 Invalidation Notices </H2>
<!--docid::SEC651::-->
<P>
<A NAME="IDX1311"></A>
The following annotations say that certain pieces of state may have
changed.
</P><P>
<DL COMPACT>
<A NAME="IDX1312"></A>
<DT><CODE>^Z^Zframes-invalid</CODE>
<DD><P>
The frames (for example, output from the <CODE>backtrace</CODE> command) may
have changed.
</P><P>
<A NAME="IDX1313"></A>
<DT><CODE>^Z^Zbreakpoints-invalid</CODE>
<DD><P>
The breakpoints may have changed. For example, the user just added or
deleted a breakpoint.
</DL>
<P>
<A NAME="Annotations for Running"></A>
<HR SIZE="6">
<A NAME="SEC652"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC651"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC653"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC653"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.6 Running the Program </H2>
<!--docid::SEC652::-->
<P>
<A NAME="IDX1314"></A>
<A NAME="IDX1315"></A>
When the program starts executing due to a GDB command such as
<CODE>step</CODE> or <CODE>continue</CODE>,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zstarting
</FONT></pre></td></tr></table></P><P>
is output. When the program stops,
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zstopped
</FONT></pre></td></tr></table></P><P>
is output. Before the <CODE>stopped</CODE> annotation, a variety of
annotations describe how the program stopped.
</P><P>
<DL COMPACT>
<A NAME="IDX1316"></A>
<DT><CODE>^Z^Zexited <VAR>exit-status</VAR></CODE>
<DD>The program exited, and <VAR>exit-status</VAR> is the exit status (zero for
successful exit, otherwise nonzero).
<P>
<A NAME="IDX1317"></A>
<A NAME="IDX1318"></A>
<A NAME="IDX1319"></A>
<A NAME="IDX1320"></A>
<A NAME="IDX1321"></A>
<DT><CODE>^Z^Zsignalled</CODE>
<DD>The program exited with a signal. After the <CODE>^Z^Zsignalled</CODE>, the
annotation continues:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><VAR>intro-text</VAR>
^Z^Zsignal-name
<VAR>name</VAR>
^Z^Zsignal-name-end
<VAR>middle-text</VAR>
^Z^Zsignal-string
<VAR>string</VAR>
^Z^Zsignal-string-end
<VAR>end-text</VAR>
</FONT></pre></td></tr></table></P><P>
where <VAR>name</VAR> is the name of the signal, such as <CODE>SIGILL</CODE> or
<CODE>SIGSEGV</CODE>, and <VAR>string</VAR> is the explanation of the signal, such
as <CODE>Illegal Instruction</CODE> or <CODE>Segmentation fault</CODE>.
<VAR>intro-text</VAR>, <VAR>middle-text</VAR>, and <VAR>end-text</VAR> are for the
user's benefit and have no particular format.
</P><P>
<A NAME="IDX1322"></A>
<DT><CODE>^Z^Zsignal</CODE>
<DD>The syntax of this annotation is just like <CODE>signalled</CODE>, but GDB is
just saying that the program received the signal, not that it was
terminated with it.
<P>
<A NAME="IDX1323"></A>
<DT><CODE>^Z^Zbreakpoint <VAR>number</VAR></CODE>
<DD>The program hit breakpoint number <VAR>number</VAR>.
<P>
<A NAME="IDX1324"></A>
<DT><CODE>^Z^Zwatchpoint <VAR>number</VAR></CODE>
<DD>The program hit watchpoint number <VAR>number</VAR>.
</DL>
<P>
<A NAME="Source Annotations"></A>
<HR SIZE="6">
<A NAME="SEC653"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC652"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 25.7 Displaying Source </H2>
<!--docid::SEC653::-->
<P>
<A NAME="IDX1325"></A>
The following annotation is used instead of displaying source code:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>^Z^Zsource <VAR>filename</VAR>:<VAR>line</VAR>:<VAR>character</VAR>:<VAR>middle</VAR>:<VAR>addr</VAR>
</FONT></pre></td></tr></table></P><P>
where <VAR>filename</VAR> is an absolute file name indicating which source
file, <VAR>line</VAR> is the line number within that file (where 1 is the
first line in the file), <VAR>character</VAR> is the character position
within the file (where 0 is the first character in the file) (for most
debug formats this will necessarily point to the beginning of a line),
<VAR>middle</VAR> is <SAMP>`middle'</SAMP> if <VAR>addr</VAR> is in the middle of the
line, or <SAMP>`beg'</SAMP> if <VAR>addr</VAR> is at the beginning of the line, and
<VAR>addr</VAR> is the address in the target program associated with the
source which is being displayed. <VAR>addr</VAR> is in the form <SAMP>`0x'</SAMP>
followed by one or more lowercase hex digits (note that this does not
depend on the language).
</P><P>
<A NAME="GDB Bugs"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,381 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: GDB Bugs</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: GDB Bugs">
<META NAME="keywords" CONTENT="Debugging with GDB: GDB Bugs">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC654"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC653"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC655"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC657"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 26. Reporting Bugs in GDB </H1>
<!--docid::SEC654::-->
<P>
Your bug reports play an essential role in making GDB reliable.
</P><P>
Reporting a bug may help you by bringing a solution to your problem, or it
may not. But in any case the principal function of a bug report is to help
the entire community by making the next version of GDB work better. Bug
reports are your contribution to the maintenance of GDB.
</P><P>
In order for a bug report to serve its purpose, you must include the
information that enables us to fix the bug.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Have you found a bug?</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_27.html#SEC656">26.2 How to Report Bugs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to report bugs</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Bug Criteria"></A>
<HR SIZE="6">
<A NAME="SEC655"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC656"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC657"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 26.1 Have You Found a Bug? </H2>
<!--docid::SEC655::-->
<P>
If you are not sure whether you have found a bug, here are some guidelines:
</P><P>
<UL>
<A NAME="IDX1326"></A>
<A NAME="IDX1327"></A>
<A NAME="IDX1328"></A>
<LI>
If the debugger gets a fatal signal, for any input whatever, that is a
GDB bug. Reliable debuggers never crash.
<P>
<A NAME="IDX1329"></A>
<LI>
If GDB produces an error message for valid input, that is a
bug. (Note that if you're cross debugging, the problem may also be
somewhere in the connection to the target.)
<P>
<A NAME="IDX1330"></A>
<LI>
If GDB does not produce an error message for invalid input,
that is a bug. However, you should note that your idea of
"invalid input" might be our idea of "an extension" or "support
for traditional practice".
<P>
<LI>
If you are an experienced user of debugging tools, your suggestions
for improvement of GDB are welcome in any case.
</UL>
<P>
<A NAME="Bug Reporting"></A>
<HR SIZE="6">
<A NAME="SEC656"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC655"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC657"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC657"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 26.2 How to Report Bugs </H2>
<!--docid::SEC656::-->
<P>
A number of companies and individuals offer support for GNU products.
If you obtained GDB from a support organization, we recommend you
contact that organization first.
</P><P>
You can find contact information for many support companies and
individuals in the file <TT>`etc/SERVICE'</TT> in the GNU Emacs
distribution.
</P><P>
In any event, we also recommend that you submit bug reports for
GDB. The preferred method is to submit them directly using
<A HREF="http://www.gnu.org/software/gdb/bugs/">GDB's Bugs web
page</A>. Alternatively, the <A HREF="mailto:bug-gdb@gnu.org">e-mail gateway</A> can
be used.
</P><P>
<STRONG>Do not send bug reports to <SAMP>`info-gdb'</SAMP>, or to
<SAMP>`help-gdb'</SAMP>, or to any newsgroups.</STRONG> Most users of GDB do
not want to receive bug reports. Those that do have arranged to receive
<SAMP>`bug-gdb'</SAMP>.
</P><P>
The mailing list <SAMP>`bug-gdb'</SAMP> has a newsgroup <SAMP>`gnu.gdb.bug'</SAMP> which
serves as a repeater. The mailing list and the newsgroup carry exactly
the same messages. Often people think of posting bug reports to the
newsgroup instead of mailing them. This appears to work, but it has one
problem which can be crucial: a newsgroup posting often lacks a mail
path back to the sender. Thus, if we need to ask for more information,
we may be unable to reach you. For this reason, it is better to send
bug reports to the mailing list.
</P><P>
The fundamental principle of reporting bugs usefully is this:
<STRONG>report all the facts</STRONG>. If you are not sure whether to state a
fact or leave it out, state it!
</P><P>
Often people omit facts because they think they know what causes the
problem and assume that some details do not matter. Thus, you might
assume that the name of the variable you use in an example does not matter.
Well, probably it does not, but one cannot be sure. Perhaps the bug is a
stray memory reference which happens to fetch from the location where that
name is stored in memory; perhaps, if the name were different, the contents
of that location would fool the debugger into doing the right thing despite
the bug. Play it safe and give a specific, complete example. That is the
easiest thing for you to do, and the most helpful.
</P><P>
Keep in mind that the purpose of a bug report is to enable us to fix the
bug. It may be that the bug has been reported previously, but neither
you nor we can know that unless your bug report is complete and
self-contained.
</P><P>
Sometimes people give a few sketchy facts and ask, "Does this ring a
bell?" Those bug reports are useless, and we urge everyone to
<EM>refuse to respond to them</EM> except to chide the sender to report
bugs properly.
</P><P>
To enable us to fix the bug, you should include all these things:
</P><P>
<UL>
<LI>
The version of GDB. GDB announces it if you start
with no arguments; you can also print it at any time using <CODE>show
version</CODE>.
<P>
Without this, we will not know whether there is any point in looking for
the bug in the current version of GDB.
</P><P>
<LI>
The type of machine you are using, and the operating system name and
version number.
<P>
<LI>
What compiler (and its version) was used to compile GDB---e.g.
"gcc--2.8.1".
<P>
<LI>
What compiler (and its version) was used to compile the program you are
debugging--e.g. "gcc--2.8.1", or "HP92453-01 A.10.32.03 HP
C Compiler". For GCC, you can say <KBD>gcc --version</KBD>
to get this information; for other compilers, see the documentation for
those compilers.
<P>
<LI>
The command arguments you gave the compiler to compile your example and
observe the bug. For example, did you use <SAMP>`-O'</SAMP>? To guarantee
you will not omit something important, list them all. A copy of the
Makefile (or the output from make) is sufficient.
<P>
If we were to try to guess the arguments, we would probably guess wrong
and then we might not encounter the bug.
</P><P>
<LI>
A complete input script, and all necessary source files, that will
reproduce the bug.
<P>
<LI>
A description of what behavior you observe that you believe is
incorrect. For example, "It gets a fatal signal."
<P>
Of course, if the bug is that GDB gets a fatal signal, then we
will certainly notice it. But if the bug is incorrect output, we might
not notice unless it is glaringly wrong. You might as well not give us
a chance to make a mistake.
</P><P>
Even if the problem you experience is a fatal signal, you should still
say so explicitly. Suppose something strange is going on, such as, your
copy of GDB is out of synch, or you have encountered a bug in
the C library on your system. (This has happened!) Your copy might
crash and ours would not. If you told us to expect a crash, then when
ours fails to crash, we would know that the bug was not happening for
us. If you had not told us to expect a crash, then we would not be able
to draw any conclusion from our observations.
</P><P>
<A NAME="IDX1331"></A>
<A NAME="IDX1332"></A>
To collect all this information, you can use a session recording program
such as <CODE>script</CODE>, which is available on many Unix systems.
Just run your GDB session inside <CODE>script</CODE> and then
include the <TT>`typescript'</TT> file with your bug report.
</P><P>
Another way to record a GDB session is to run GDB
inside Emacs and then save the entire buffer to a file.
</P><P>
<LI>
If you wish to suggest changes to the GDB source, send us context
diffs. If you even discuss something in the GDB source, refer to
it by context, not by line number.
<P>
The line numbers in our development sources will not match those in your
sources. Your line numbers would convey no useful information to us.
</P><P>
</UL>
<P>
Here are some things that are not necessary:
</P><P>
<UL>
<LI>
A description of the envelope of the bug.
<P>
Often people who encounter a bug spend a lot of time investigating
which changes to the input file will make the bug go away and which
changes will not affect it.
</P><P>
This is often time consuming and not very useful, because the way we
will find the bug is by running a single example under the debugger
with breakpoints, not by pure deduction from a series of examples.
We recommend that you save your time for something else.
</P><P>
Of course, if you can find a simpler example to report <EM>instead</EM>
of the original one, that is a convenience for us. Errors in the
output will be easier to spot, running under the debugger will take
less time, and so on.
</P><P>
However, simplification is not vital; if you do not want to do this,
report the bug anyway and send us the entire test case you used.
</P><P>
<LI>
A patch for the bug.
<P>
A patch for the bug does help us if it is a good one. But do not omit
the necessary information, such as the test case, on the assumption that
a patch is all we need. We might see problems with your patch and decide
to fix the problem another way, or we might not understand it at all.
</P><P>
Sometimes with a program as complicated as GDB it is very hard to
construct an example that will make the program follow a certain path
through the code. If you do not send us the example, we will not be able
to construct one, so we will not be able to verify that the bug is fixed.
</P><P>
And if we cannot understand what bug you are trying to fix, or why your
patch should be an improvement, we will not install it. A test case will
help us to understand.
</P><P>
<LI>
A guess about what the bug is or what it depends on.
<P>
Such guesses are usually wrong. Even we cannot guess right about such
things without first using the debugger to find the facts.
</UL>
<P>
<A NAME="Command Line Editing"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_27.html#SEC654"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC657"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,372 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Using History Interactively</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Using History Interactively">
<META NAME="keywords" CONTENT="Debugging with GDB: Using History Interactively">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC679"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_28.html#SEC678"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC680"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 28. Using History Interactively </H1>
<!--docid::SEC679::-->
<P>
This chapter describes how to use the GNU History Library interactively,
from a user's standpoint. It should be considered a user's guide.
For information on using the GNU History Library in other programs,
see the GNU Readline Library Manual.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_29.html#SEC680">28.1 History Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What it feels like using History as a user.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="History Interaction"></A>
<HR SIZE="6">
<A NAME="SEC680"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC681"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 28.1 History Expansion </H2>
<!--docid::SEC680::-->
<P>
The History library provides a history expansion feature that is similar
to the history expansion provided by <CODE>csh</CODE>. This section
describes the syntax used to manipulate the history information.
</P><P>
History expansions introduce words from the history list into
the input stream, making it easy to repeat commands, insert the
arguments to a previous command into the current input line, or
fix errors in previous commands quickly.
</P><P>
History expansion takes place in two parts. The first is to determine
which line from the history list should be used during substitution.
The second is to select portions of that line for inclusion into the
current one. The line selected from the history is called the
<EM>event</EM>, and the portions of that line that are acted upon are
called <EM>words</EM>. Various <EM>modifiers</EM> are available to manipulate
the selected words. The line is broken into words in the same fashion
that Bash does, so that several words
surrounded by quotes are considered one word.
History expansions are introduced by the appearance of the
history expansion character, which is <SAMP>`!'</SAMP> by default.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_29.html#SEC681">28.1.1 Event Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify which history line to use.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_29.html#SEC682">28.1.2 Word Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying which words are of interest.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_29.html#SEC683">28.1.3 Modifiers</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Modifying the results of substitution.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Event Designators"></A>
<HR SIZE="6">
<A NAME="SEC681"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC680"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC682"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC680"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 28.1.1 Event Designators </H3>
<!--docid::SEC681::-->
<P>
An event designator is a reference to a command line entry in the
history list.
<A NAME="IDX1510"></A>
</P><P>
<DL COMPACT>
<DT><CODE>!</CODE>
<DD>Start a history substitution, except when followed by a space, tab,
the end of the line, or <SAMP>`='</SAMP>.
<P>
<DT><CODE>!<VAR>n</VAR></CODE>
<DD>Refer to command line <VAR>n</VAR>.
<P>
<DT><CODE>!-<VAR>n</VAR></CODE>
<DD>Refer to the command <VAR>n</VAR> lines back.
<P>
<DT><CODE>!!</CODE>
<DD>Refer to the previous command. This is a synonym for <SAMP>`!-1'</SAMP>.
<P>
<DT><CODE>!<VAR>string</VAR></CODE>
<DD>Refer to the most recent command starting with <VAR>string</VAR>.
<P>
<DT><CODE>!?<VAR>string</VAR>[?]</CODE>
<DD>Refer to the most recent command containing <VAR>string</VAR>. The trailing
<SAMP>`?'</SAMP> may be omitted if the <VAR>string</VAR> is followed immediately by
a newline.
<P>
<DT><CODE>^<VAR>string1</VAR>^<VAR>string2</VAR>^</CODE>
<DD>Quick Substitution. Repeat the last command, replacing <VAR>string1</VAR>
with <VAR>string2</VAR>. Equivalent to
<CODE>!!:s/<VAR>string1</VAR>/<VAR>string2</VAR>/</CODE>.
<P>
<DT><CODE>!#</CODE>
<DD>The entire command line typed so far.
<P>
</DL>
<P>
<A NAME="Word Designators"></A>
<HR SIZE="6">
<A NAME="SEC682"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC681"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC683"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC683"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC680"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 28.1.2 Word Designators </H3>
<!--docid::SEC682::-->
<P>
Word designators are used to select desired words from the event.
A <SAMP>`:'</SAMP> separates the event specification from the word designator. It
may be omitted if the word designator begins with a <SAMP>`^'</SAMP>, <SAMP>`$'</SAMP>,
<SAMP>`*'</SAMP>, <SAMP>`-'</SAMP>, or <SAMP>`%'</SAMP>. Words are numbered from the beginning
of the line, with the first word being denoted by 0 (zero). Words are
inserted into the current line separated by single spaces.
</P><P>
For example,
</P><P>
<DL COMPACT>
<DT><CODE>!!</CODE>
<DD>designates the preceding command. When you type this, the preceding
command is repeated in toto.
<P>
<DT><CODE>!!:$</CODE>
<DD>designates the last argument of the preceding command. This may be
shortened to <CODE>!$</CODE>.
<P>
<DT><CODE>!fi:2</CODE>
<DD>designates the second argument of the most recent command starting with
the letters <CODE>fi</CODE>.
</DL>
<P>
Here are the word designators:
<DL COMPACT>
<DT><CODE>0 (zero)</CODE>
<DD>The <CODE>0</CODE>th word. For many applications, this is the command word.
<P>
<DT><CODE><VAR>n</VAR></CODE>
<DD>The <VAR>n</VAR>th word.
<P>
<DT><CODE>^</CODE>
<DD>The first argument; that is, word 1.
<P>
<DT><CODE>$</CODE>
<DD>The last argument.
<P>
<DT><CODE>%</CODE>
<DD>The word matched by the most recent <SAMP>`?<VAR>string</VAR>?'</SAMP> search.
<P>
<DT><CODE><VAR>x</VAR>-<VAR>y</VAR></CODE>
<DD>A range of words; <SAMP>`-<VAR>y</VAR>'</SAMP> abbreviates <SAMP>`0-<VAR>y</VAR>'</SAMP>.
<P>
<DT><CODE>*</CODE>
<DD>All of the words, except the <CODE>0</CODE>th. This is a synonym for <SAMP>`1-$'</SAMP>.
It is not an error to use <SAMP>`*'</SAMP> if there is just one word in the event;
the empty string is returned in that case.
<P>
<DT><CODE><VAR>x</VAR>*</CODE>
<DD>Abbreviates <SAMP>`<VAR>x</VAR>-$'</SAMP>
<P>
<DT><CODE><VAR>x</VAR>-</CODE>
<DD>Abbreviates <SAMP>`<VAR>x</VAR>-$'</SAMP> like <SAMP>`<VAR>x</VAR>*'</SAMP>, but omits the last word.
<P>
</DL>
<P>
If a word designator is supplied without an event specification, the
previous command is used as the event.
</P><P>
<A NAME="Modifiers"></A>
<HR SIZE="6">
<A NAME="SEC683"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC682"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC680"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 28.1.3 Modifiers </H3>
<!--docid::SEC683::-->
<P>
After the optional word designator, you can add a sequence of one or more
of the following modifiers, each preceded by a <SAMP>`:'</SAMP>.
</P><P>
<DL COMPACT>
<DT><CODE>h</CODE>
<DD>Remove a trailing pathname component, leaving only the head.
<P>
<DT><CODE>t</CODE>
<DD>Remove all leading pathname components, leaving the tail.
<P>
<DT><CODE>r</CODE>
<DD>Remove a trailing suffix of the form <SAMP>`.<VAR>suffix</VAR>'</SAMP>, leaving
the basename.
<P>
<DT><CODE>e</CODE>
<DD>Remove all but the trailing suffix.
<P>
<DT><CODE>p</CODE>
<DD>Print the new command but do not execute it.
<P>
<DT><CODE>s/<VAR>old</VAR>/<VAR>new</VAR>/</CODE>
<DD>Substitute <VAR>new</VAR> for the first occurrence of <VAR>old</VAR> in the
event line. Any delimiter may be used in place of <SAMP>`/'</SAMP>.
The delimiter may be quoted in <VAR>old</VAR> and <VAR>new</VAR>
with a single backslash. If <SAMP>`&#38;'</SAMP> appears in <VAR>new</VAR>,
it is replaced by <VAR>old</VAR>. A single backslash will quote
the <SAMP>`&#38;'</SAMP>. The final delimiter is optional if it is the last
character on the input line.
<P>
<DT><CODE>&#38;</CODE>
<DD>Repeat the previous substitution.
<P>
<DT><CODE>g</CODE>
<DD><DT><CODE>a</CODE>
<DD>Cause changes to be applied over the entire event line. Used in
conjunction with <SAMP>`s'</SAMP>, as in <CODE>gs/<VAR>old</VAR>/<VAR>new</VAR>/</CODE>,
or with <SAMP>`&#38;'</SAMP>.
<P>
<DT><CODE>G</CODE>
<DD>Apply the following <SAMP>`s'</SAMP> modifier once to each word in the event.
<P>
</DL>
<P>
<A NAME="Formatting Documentation"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,775 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Invocation</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Invocation">
<META NAME="keywords" CONTENT="Debugging with GDB: Invocation">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC6"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_2.html#SEC5"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC7"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 2. Getting In and Out of GDB </H1>
<!--docid::SEC6::-->
<P>
This chapter discusses how to start GDB, and how to get out of it.
The essentials are:
<UL>
<LI>
type <SAMP>`gdb'</SAMP> to start GDB.
<LI>
type <KBD>quit</KBD> or <KBD>Ctrl-d</KBD> to exit.
</UL>
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC7">2.1 Invoking GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to start GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to quit GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC12">2.3 Shell Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to use shell commands inside GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to log GDB's output to a file</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Invoking GDB"></A>
<HR SIZE="6">
<A NAME="SEC7"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC8"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.1 Invoking GDB </H2>
<!--docid::SEC7::-->
<P>
Invoke GDB by running the program <CODE>gdb</CODE>. Once started,
GDB reads commands from the terminal until you tell it to exit.
</P><P>
You can also run <CODE>gdb</CODE> with a variety of arguments and options,
to specify more of your debugging environment at the outset.
</P><P>
The command-line options described here are designed
to cover a variety of situations; in some environments, some of these
options may effectively be unavailable.
</P><P>
The most usual way to start GDB is with one argument,
specifying an executable program:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb <VAR>program</VAR>
</FONT></pre></td></tr></table></P><P>
You can also start with both an executable program and a core file
specified:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb <VAR>program</VAR> <VAR>core</VAR>
</FONT></pre></td></tr></table></P><P>
You can, instead, specify a process ID as a second argument, if you want
to debug a running process:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb <VAR>program</VAR> 1234
</FONT></pre></td></tr></table></P><P>
would attach GDB to process <CODE>1234</CODE> (unless you also have a file
named <TT>`1234'</TT>; GDB does check for a core file first).
</P><P>
Taking advantage of the second command-line argument requires a fairly
complete operating system; when you use GDB as a remote
debugger attached to a bare board, there may not be any notion of
"process", and there is often no way to get a core dump. GDB
will warn you if it is unable to attach or to read core dumps.
</P><P>
You can optionally have <CODE>gdb</CODE> pass any arguments after the
executable file to the inferior using <CODE>--args</CODE>. This option stops
option processing.
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb --args gcc -O2 -c foo.c
</FONT></pre></td></tr></table>This will cause <CODE>gdb</CODE> to debug <CODE>gcc</CODE>, and to set
<CODE>gcc</CODE>'s command-line arguments (see section <A HREF="gdb_5.html#SEC21">4.3 Your Program's Arguments</A>) to <SAMP>`-O2 -c foo.c'</SAMP>.
</P><P>
You can run <CODE>gdb</CODE> without printing the front material, which describes
GDB's non-warranty, by specifying <CODE>-silent</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb -silent
</FONT></pre></td></tr></table></P><P>
You can further control how GDB starts up by using command-line
options. GDB itself can remind you of the options available.
</P><P>
Type
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb -help
</FONT></pre></td></tr></table></P><P>
to display all available options and briefly describe their use
(<SAMP>`gdb -h'</SAMP> is a shorter equivalent).
</P><P>
All options and command line arguments you give are processed
in sequential order. The order makes a difference when the
<SAMP>`-x'</SAMP> option is used.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Choosing files</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Choosing modes</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What GDB does during startup</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="File Options"></A>
<HR SIZE="6">
<A NAME="SEC8"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC7"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC9"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC7"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.1.1 Choosing Files </H3>
<!--docid::SEC8::-->
<P>
When GDB starts, it reads any arguments other than options as
specifying an executable file and core file (or process ID). This is
the same as if the arguments were specified by the <SAMP>`-se'</SAMP> and
<SAMP>`-c'</SAMP> (or <SAMP>`-p'</SAMP>) options respectively. (GDB reads the
first argument that does not have an associated option flag as
equivalent to the <SAMP>`-se'</SAMP> option followed by that argument; and the
second argument that does not have an associated option flag, if any, as
equivalent to the <SAMP>`-c'</SAMP>/<SAMP>`-p'</SAMP> option followed by that argument.)
If the second argument begins with a decimal digit, GDB will
first attempt to attach to it as a process, and if that fails, attempt
to open it as a corefile. If you have a corefile whose name begins with
a digit, you can prevent GDB from treating it as a pid by
prefixing it with <TT>`./'</TT>, e.g. <TT>`./12345'</TT>.
</P><P>
If GDB has not been configured to included core file support,
such as for most embedded targets, then it will complain about a second
argument and ignore it.
</P><P>
Many options have both long and short forms; both are shown in the
following list. GDB also recognizes the long forms if you truncate
them, so long as enough of the option is present to be unambiguous.
(If you prefer, you can flag option arguments with <SAMP>`--'</SAMP> rather
than <SAMP>`-'</SAMP>, though we illustrate the more usual convention.)
</P><P>
<DL COMPACT>
<DT><CODE>-symbols <VAR>file</VAR></CODE>
<DD><DT><CODE>-s <VAR>file</VAR></CODE>
<DD><A NAME="IDX4"></A>
<A NAME="IDX5"></A>
Read symbol table from file <VAR>file</VAR>.
<P>
<DT><CODE>-exec <VAR>file</VAR></CODE>
<DD><DT><CODE>-e <VAR>file</VAR></CODE>
<DD><A NAME="IDX6"></A>
<A NAME="IDX7"></A>
Use file <VAR>file</VAR> as the executable file to execute when appropriate,
and for examining pure data in conjunction with a core dump.
<P>
<DT><CODE>-se <VAR>file</VAR></CODE>
<DD><A NAME="IDX8"></A>
Read symbol table from file <VAR>file</VAR> and use it as the executable
file.
<P>
<DT><CODE>-core <VAR>file</VAR></CODE>
<DD><DT><CODE>-c <VAR>file</VAR></CODE>
<DD><A NAME="IDX9"></A>
<A NAME="IDX10"></A>
Use file <VAR>file</VAR> as a core dump to examine.
<P>
<DT><CODE>-pid <VAR>number</VAR></CODE>
<DD><DT><CODE>-p <VAR>number</VAR></CODE>
<DD><A NAME="IDX11"></A>
<A NAME="IDX12"></A>
Connect to process ID <VAR>number</VAR>, as with the <CODE>attach</CODE> command.
<P>
<DT><CODE>-command <VAR>file</VAR></CODE>
<DD><DT><CODE>-x <VAR>file</VAR></CODE>
<DD><A NAME="IDX13"></A>
<A NAME="IDX14"></A>
Execute GDB commands from file <VAR>file</VAR>. See section <A HREF="gdb_21.html#SEC232">Command files</A>.
<P>
<DT><CODE>-eval-command <VAR>command</VAR></CODE>
<DD><DT><CODE>-ex <VAR>command</VAR></CODE>
<DD><A NAME="IDX15"></A>
<A NAME="IDX16"></A>
Execute a single GDB command.
<P>
This option may be used multiple times to call multiple commands. It may
also be interleaved with <SAMP>`-command'</SAMP> as required.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>gdb -ex 'target sim' -ex 'load' \
-x setbreakpoints -ex 'run' a.out
</FONT></pre></td></tr></table></P><P>
<DT><CODE>-directory <VAR>directory</VAR></CODE>
<DD><DT><CODE>-d <VAR>directory</VAR></CODE>
<DD><A NAME="IDX17"></A>
<A NAME="IDX18"></A>
Add <VAR>directory</VAR> to the path to search for source and script files.
<P>
<DT><CODE>-r</CODE>
<DD><DT><CODE>-readnow</CODE>
<DD><A NAME="IDX19"></A>
<A NAME="IDX20"></A>
Read each symbol file's entire symbol table immediately, rather than
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
<P>
</DL>
<P>
<A NAME="Mode Options"></A>
<HR SIZE="6">
<A NAME="SEC9"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC8"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC10"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC10"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC7"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.1.2 Choosing Modes </H3>
<!--docid::SEC9::-->
<P>
You can run GDB in various alternative modes--for example, in
batch mode or quiet mode.
</P><P>
<DL COMPACT>
<DT><CODE>-nx</CODE>
<DD><DT><CODE>-n</CODE>
<DD><A NAME="IDX21"></A>
<A NAME="IDX22"></A>
Do not execute commands found in any initialization files. Normally,
GDB executes the commands in these files after all the command
options and arguments have been processed. See section <A HREF="gdb_21.html#SEC232">Command Files</A>.
<P>
<DT><CODE>-quiet</CODE>
<DD><DT><CODE>-silent</CODE>
<DD><DT><CODE>-q</CODE>
<DD><A NAME="IDX23"></A>
<A NAME="IDX24"></A>
<A NAME="IDX25"></A>
"Quiet". Do not print the introductory and copyright messages. These
messages are also suppressed in batch mode.
<P>
<DT><CODE>-batch</CODE>
<DD><A NAME="IDX26"></A>
Run in batch mode. Exit with status <CODE>0</CODE> after processing all the
command files specified with <SAMP>`-x'</SAMP> (and all commands from
initialization files, if not inhibited with <SAMP>`-n'</SAMP>). Exit with
nonzero status if an error occurs in executing the GDB commands
in the command files.
<P>
Batch mode may be useful for running GDB as a filter, for
example to download and run a program on another computer; in order to
make this more useful, the message
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>Program exited normally.
</FONT></pre></td></tr></table></P><P>
(which is ordinarily issued whenever a program running under
GDB control terminates) is not issued when running in batch
mode.
</P><P>
<DT><CODE>-batch-silent</CODE>
<DD><A NAME="IDX27"></A>
Run in batch mode exactly like <SAMP>`-batch'</SAMP>, but totally silently. All
GDB output to <CODE>stdout</CODE> is prevented (<CODE>stderr</CODE> is
unaffected). This is much quieter than <SAMP>`-silent'</SAMP> and would be useless
for an interactive session.
<P>
This is particularly useful when using targets that give <SAMP>`Loading section'</SAMP>
messages, for example.
</P><P>
Note that targets that give their output via GDB, as opposed to
writing directly to <CODE>stdout</CODE>, will also be made silent.
</P><P>
<DT><CODE>-return-child-result</CODE>
<DD><A NAME="IDX28"></A>
The return code from GDB will be the return code from the child
process (the process being debugged), with the following exceptions:
<P>
<UL>
<LI>
GDB exits abnormally. E.g., due to an incorrect argument or an
internal error. In this case the exit code is the same as it would have been
without <SAMP>`-return-child-result'</SAMP>.
<LI>
The user quits with an explicit value. E.g., <SAMP>`quit 1'</SAMP>.
<LI>
The child process never runs, or is not allowed to terminate, in which case
the exit code will be -1.
</UL>
<P>
This option is useful in conjunction with <SAMP>`-batch'</SAMP> or <SAMP>`-batch-silent'</SAMP>,
when GDB is being used as a remote program loader or simulator
interface.
</P><P>
<DT><CODE>-nowindows</CODE>
<DD><DT><CODE>-nw</CODE>
<DD><A NAME="IDX29"></A>
<A NAME="IDX30"></A>
"No windows". If GDB comes with a graphical user interface
(GUI) built in, then this option tells GDB to only use the command-line
interface. If no GUI is available, this option has no effect.
<P>
<DT><CODE>-windows</CODE>
<DD><DT><CODE>-w</CODE>
<DD><A NAME="IDX31"></A>
<A NAME="IDX32"></A>
If GDB includes a GUI, then this option requires it to be
used if possible.
<P>
<DT><CODE>-cd <VAR>directory</VAR></CODE>
<DD><A NAME="IDX33"></A>
Run GDB using <VAR>directory</VAR> as its working directory,
instead of the current directory.
<P>
<DT><CODE>-fullname</CODE>
<DD><DT><CODE>-f</CODE>
<DD><A NAME="IDX34"></A>
<A NAME="IDX35"></A>
GNU Emacs sets this option when it runs GDB as a
subprocess. It tells GDB to output the full file name and line
number in a standard, recognizable fashion each time a stack frame is
displayed (which includes each time your program stops). This
recognizable format looks like two <SAMP>`\032'</SAMP> characters, followed by
the file name, line number and character position separated by colons,
and a newline. The Emacs-to-GDB interface program uses the two
<SAMP>`\032'</SAMP> characters as a signal to display the source code for the
frame.
<P>
<DT><CODE>-epoch</CODE>
<DD><A NAME="IDX36"></A>
The Epoch Emacs-GDB interface sets this option when it runs
GDB as a subprocess. It tells GDB to modify its print
routines so as to allow Epoch to display values of expressions in a
separate window.
<P>
<DT><CODE>-annotate <VAR>level</VAR></CODE>
<DD><A NAME="IDX37"></A>
This option sets the <EM>annotation level</EM> inside GDB. Its
effect is identical to using <SAMP>`set annotate <VAR>level</VAR>'</SAMP>
(see section <A HREF="gdb_26.html#SEC646">25. GDB Annotations</A>). The annotation <VAR>level</VAR> controls how much
information GDB prints together with its prompt, values of
expressions, source lines, and other types of output. Level 0 is the
normal, level 1 is for use when GDB is run as a subprocess of
GNU Emacs, level 3 is the maximum annotation suitable for programs
that control GDB, and level 2 has been deprecated.
<P>
The annotation mechanism has largely been superseded by GDB/MI
(see section <A HREF="gdb_25.html#SEC242">24. The GDB/MI Interface</A>).
</P><P>
<DT><CODE>--args</CODE>
<DD><A NAME="IDX38"></A>
Change interpretation of command line so that arguments following the
executable file are passed as command line arguments to the inferior.
This option stops option processing.
<P>
<DT><CODE>-baud <VAR>bps</VAR></CODE>
<DD><DT><CODE>-b <VAR>bps</VAR></CODE>
<DD><A NAME="IDX39"></A>
<A NAME="IDX40"></A>
Set the line speed (baud rate or bits per second) of any serial
interface used by GDB for remote debugging.
<P>
<DT><CODE>-l <VAR>timeout</VAR></CODE>
<DD><A NAME="IDX41"></A>
Set the timeout (in seconds) of any communication used by GDB
for remote debugging.
<P>
<DT><CODE>-tty <VAR>device</VAR></CODE>
<DD><DT><CODE>-t <VAR>device</VAR></CODE>
<DD><A NAME="IDX42"></A>
<A NAME="IDX43"></A>
Run using <VAR>device</VAR> for your program's standard input and output.
<P>
<DT><CODE>-tui</CODE>
<DD><A NAME="IDX44"></A>
Activate the <EM>Text User Interface</EM> when starting. The Text User
Interface manages several text windows on the terminal, showing
source, assembly, registers and GDB command outputs
(see section <A HREF="gdb_23.html#SEC235">GDB Text User Interface</A>). Alternatively, the
Text User Interface can be enabled by invoking the program
<SAMP>`gdbtui'</SAMP>. Do not use this option if you run GDB from
Emacs (see section <A HREF="gdb_24.html#SEC241">Using GDB under GNU Emacs</A>).
<P>
<DT><CODE>-interpreter <VAR>interp</VAR></CODE>
<DD><A NAME="IDX45"></A>
Use the interpreter <VAR>interp</VAR> for interface with the controlling
program or device. This option is meant to be set by programs which
communicate with GDB using it as a back end.
See section <A HREF="gdb_22.html#SEC234">Command Interpreters</A>.
<P>
<SAMP>`--interpreter=mi'</SAMP> (or <SAMP>`--interpreter=mi2'</SAMP>) causes
GDB to use the <EM>GDB/MI interface</EM> (see section <A HREF="gdb_25.html#SEC242">The GDB/MI Interface</A>) included since GDB version 6.0. The
previous GDB/MI interface, included in GDB version 5.3 and
selected with <SAMP>`--interpreter=mi1'</SAMP>, is deprecated. Earlier
GDB/MI interfaces are no longer supported.
</P><P>
<DT><CODE>-write</CODE>
<DD><A NAME="IDX46"></A>
Open the executable and core files for both reading and writing. This
is equivalent to the <SAMP>`set write on'</SAMP> command inside GDB
(see section <A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A>).
<P>
<DT><CODE>-statistics</CODE>
<DD><A NAME="IDX47"></A>
This option causes GDB to print statistics about time and
memory usage after it completes each command and returns to the prompt.
<P>
<DT><CODE>-version</CODE>
<DD><A NAME="IDX48"></A>
This option causes GDB to print its version number and
no-warranty blurb, and exit.
<P>
</DL>
<P>
<A NAME="Startup"></A>
<HR SIZE="6">
<A NAME="SEC10"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC9"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC7"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 2.1.3 What GDB Does During Startup </H3>
<!--docid::SEC10::-->
<P>
Here's the description of what GDB does during session startup:
</P><P>
<OL>
<LI>
Sets up the command interpreter as specified by the command line
(see section <A HREF="gdb_3.html#SEC9">interpreter</A>).
<P>
<LI>
<A NAME="IDX49"></A>
Reads the <EM>init file</EM> (if any) in your home directory<A NAME="DOCF1" HREF="gdb_fot.html#FOOT1">(1)</A> and executes all the commands in
that file.
<P>
<LI>
Processes command line options and operands.
<P>
<LI>
Reads and executes the commands from init file (if any) in the current
working directory. This is only done if the current directory is
different from your home directory. Thus, you can have more than one
init file, one generic in your home directory, and another, specific
to the program you are debugging, in the directory where you invoke
GDB.
<P>
<LI>
Reads command files specified by the <SAMP>`-x'</SAMP> option. See section <A HREF="gdb_21.html#SEC232">20.3 Command Files</A>, for more details about GDB command files.
<P>
<LI>
Reads the command history recorded in the <EM>history file</EM>.
See section <A HREF="gdb_20.html#SEC223">19.3 Command History</A>, for more details about the command history and the
files where GDB records it.
</OL>
<P>
Init files use the same syntax as <EM>command files</EM> (see section <A HREF="gdb_21.html#SEC232">20.3 Command Files</A>) and are processed by GDB in the same way. The init
file in your home directory can set options (such as <SAMP>`set
complaints'</SAMP>) that affect subsequent processing of command line options
and operands. Init files are not executed if you use the <SAMP>`-nx'</SAMP>
option (see section <A HREF="gdb_3.html#SEC9">Choosing Modes</A>).
</P><P>
<A NAME="IDX50"></A>
<A NAME="IDX51"></A>
<A NAME="IDX52"></A>
The GDB init files are normally called <TT>`.gdbinit'</TT>.
The DJGPP port of GDB uses the name <TT>`gdb.ini'</TT>, due to
the limitations of file names imposed by DOS filesystems. The Windows
ports of GDB use the standard name, but if they find a
<TT>`gdb.ini'</TT> file, they warn you about that and suggest to rename
the file to the standard name.
</P><P>
<A NAME="Quitting GDB"></A>
<HR SIZE="6">
<A NAME="SEC11"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC10"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC12"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC12"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.2 Quitting GDB </H2>
<!--docid::SEC11::-->
<P>
<DL COMPACT>
<A NAME="IDX53"></A>
<A NAME="IDX54"></A>
<DT><CODE>quit [<VAR>expression</VAR>]</CODE>
<DD><DT><CODE>q</CODE>
<DD>To exit GDB, use the <CODE>quit</CODE> command (abbreviated
<CODE>q</CODE>), or type an end-of-file character (usually <KBD>Ctrl-d</KBD>). If you
do not supply <VAR>expression</VAR>, GDB will terminate normally;
otherwise it will terminate using the result of <VAR>expression</VAR> as the
error code.
</DL>
<P>
<A NAME="IDX55"></A>
An interrupt (often <KBD>Ctrl-c</KBD>) does not exit from GDB, but rather
terminates the action of any GDB command that is in progress and
returns to GDB command level. It is safe to type the interrupt
character at any time because GDB does not allow it to take effect
until a time when it is safe.
</P><P>
If you have been using GDB to control an attached process or
device, you can release it with the <CODE>detach</CODE> command
(see section <A HREF="gdb_5.html#SEC25">Debugging an Already-running Process</A>).
</P><P>
<A NAME="Shell Commands"></A>
<HR SIZE="6">
<A NAME="SEC12"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC11"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC13"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC13"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.3 Shell Commands </H2>
<!--docid::SEC12::-->
<P>
If you need to execute occasional shell commands during your
debugging session, there is no need to leave or suspend GDB; you can
just use the <CODE>shell</CODE> command.
</P><P>
<DL COMPACT>
<A NAME="IDX56"></A>
<A NAME="IDX57"></A>
<DT><CODE>shell <VAR>command string</VAR></CODE>
<DD>Invoke a standard shell to execute <VAR>command string</VAR>.
If it exists, the environment variable <CODE>SHELL</CODE> determines which
shell to run. Otherwise GDB uses the default shell
(<TT>`/bin/sh'</TT> on Unix systems, <TT>`COMMAND.COM'</TT> on MS-DOS, etc.).
</DL>
<P>
The utility <CODE>make</CODE> is often needed in development environments.
You do not have to use the <CODE>shell</CODE> command for this purpose in
GDB:
</P><P>
<DL COMPACT>
<A NAME="IDX58"></A>
<A NAME="IDX59"></A>
<DT><CODE>make <VAR>make-args</VAR></CODE>
<DD>Execute the <CODE>make</CODE> program with the specified
arguments. This is equivalent to <SAMP>`shell make <VAR>make-args</VAR>'</SAMP>.
</DL>
<P>
<A NAME="Logging Output"></A>
<HR SIZE="6">
<A NAME="SEC13"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC12"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 2.4 Logging Output </H2>
<!--docid::SEC13::-->
<P>
You may want to save the output of GDB commands to a file.
There are several commands to control GDB's logging.
</P><P>
<DL COMPACT>
<A NAME="IDX60"></A>
<DT><CODE>set logging on</CODE>
<DD>Enable logging.
<DT><CODE>set logging off</CODE>
<DD>Disable logging.
<A NAME="IDX61"></A>
<DT><CODE>set logging file <VAR>file</VAR></CODE>
<DD>Change the name of the current logfile. The default logfile is <TT>`gdb.txt'</TT>.
<DT><CODE>set logging overwrite [on|off]</CODE>
<DD>By default, GDB will append to the logfile. Set <CODE>overwrite</CODE> if
you want <CODE>set logging on</CODE> to overwrite the logfile instead.
<DT><CODE>set logging redirect [on|off]</CODE>
<DD>By default, GDB output will go to both the terminal and the logfile.
Set <CODE>redirect</CODE> if you want output to go only to the log file.
<A NAME="IDX62"></A>
<DT><CODE>show logging</CODE>
<DD>Show the current values of the logging settings.
</DL>
<P>
<A NAME="Commands"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,170 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Formatting Documentation</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Formatting Documentation">
<META NAME="keywords" CONTENT="Debugging with GDB: Formatting Documentation">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC684"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC683"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> A. Formatting Documentation </H1>
<!--docid::SEC684::-->
<P>
<A NAME="IDX1511"></A>
<A NAME="IDX1512"></A>
The GDB 4 release includes an already-formatted reference card, ready
for printing with PostScript or Ghostscript, in the <TT>`gdb'</TT>
subdirectory of the main source directory<A NAME="DOCF8" HREF="gdb_fot.html#FOOT8">(8)</A>. If you can use PostScript or Ghostscript with your printer,
you can print the reference card immediately with <TT>`refcard.ps'</TT>.
</P><P>
The release also includes the source for the reference card. You
can format it, using TeX, by typing:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>make refcard.dvi
</FONT></pre></td></tr></table></P><P>
The GDB reference card is designed to print in <EM>landscape</EM>
mode on US "letter" size paper;
that is, on a sheet 11 inches wide by 8.5 inches
high. You will need to specify this form of printing as an option to
your DVI output program.
</P><P>
<A NAME="IDX1513"></A>
</P><P>
All the documentation for GDB comes as part of the machine-readable
distribution. The documentation is written in Texinfo format, which is
a documentation system that uses a single source file to produce both
on-line information and a printed manual. You can use one of the Info
formatting commands to create the on-line version of the documentation
and TeX (or <CODE>texi2roff</CODE>) to typeset the printed version.
</P><P>
GDB includes an already formatted copy of the on-line Info
version of this manual in the <TT>`gdb'</TT> subdirectory. The main Info
file is <TT>`gdb-6.8/gdb/gdb.info'</TT>, and it refers to
subordinate files matching <SAMP>`gdb.info*'</SAMP> in the same directory. If
necessary, you can print out these files, or read them with any editor;
but they are easier to read using the <CODE>info</CODE> subsystem in GNU
Emacs or the standalone <CODE>info</CODE> program, available as part of the
GNU Texinfo distribution.
</P><P>
If you want to format these Info files yourself, you need one of the
Info formatting programs, such as <CODE>texinfo-format-buffer</CODE> or
<CODE>makeinfo</CODE>.
</P><P>
If you have <CODE>makeinfo</CODE> installed, and are in the top level
GDB source directory (<TT>`gdb-6.8'</TT>, in the case of
version 6.8), you can make the Info file by typing:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>cd gdb
make gdb.info
</FONT></pre></td></tr></table></P><P>
If you want to typeset and print copies of this manual, you need TeX,
a program to print its DVI output files, and <TT>`texinfo.tex'</TT>, the
Texinfo definitions file.
</P><P>
TeX is a typesetting program; it does not print files directly, but
produces output files called DVI files. To print a typeset
document, you need a program to print DVI files. If your system
has TeX installed, chances are it has such a program. The precise
command to use depends on your system; <KBD>lpr -d</KBD> is common; another
(for PostScript devices) is <KBD>dvips</KBD>. The DVI print command may
require a file name without any extension or a <SAMP>`.dvi'</SAMP> extension.
</P><P>
TeX also requires a macro definitions file called
<TT>`texinfo.tex'</TT>. This file tells TeX how to typeset a document
written in Texinfo format. On its own, TeX cannot either read or
typeset a Texinfo file. <TT>`texinfo.tex'</TT> is distributed with GDB
and is located in the <TT>`gdb-<VAR>version-number</VAR>/texinfo'</TT>
directory.
</P><P>
If you have TeX and a DVI printer program installed, you can
typeset and print this manual. First switch to the <TT>`gdb'</TT>
subdirectory of the main source directory (for example, to
<TT>`gdb-6.8/gdb'</TT>) and type:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>make gdb.dvi
</FONT></pre></td></tr></table></P><P>
Then give <TT>`gdb.dvi'</TT> to your DVI printing program.
</P><P>
<A NAME="Installing GDB"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_29.html#SEC679"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,524 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Installing GDB</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Installing GDB">
<META NAME="keywords" CONTENT="Debugging with GDB: Installing GDB">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC685"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC686"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> B. Installing GDB </H1>
<!--docid::SEC685::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC686">B.1 Requirements for Building GDB</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Requirements for building GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC689">B.2 Invoking the GDB <TT>`configure'</TT> Script</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Invoking the GDB <TT>`configure'</TT> script</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC690">B.3 Compiling GDB in Another Directory</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Compiling GDB in another directory</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC691">B.4 Specifying Names for Hosts and Targets</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying names for hosts and targets</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC692">B.5 <TT>`configure'</TT> Options</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Summary of options for configure</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Requirements"></A>
<HR SIZE="6">
<A NAME="SEC686"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC689"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.1 Requirements for Building GDB </H2>
<!--docid::SEC686::-->
<P>
Building GDB requires various tools and packages to be available.
Other packages will be used only if they are found.
</P><P>
<A NAME="SEC687"></A>
<H2> Tools/Packages Necessary for Building GDB </H2>
<!--docid::SEC687::-->
<DL COMPACT>
<DT>ISO C90 compiler
<DD>GDB is written in ISO C90. It should be buildable with any
working C90 compiler, e.g. GCC.
<P>
</DL>
<P>
<A NAME="SEC688"></A>
<H2> Tools/Packages Optional for Building GDB </H2>
<!--docid::SEC688::-->
<DL COMPACT>
<DT>Expat
<DD><A NAME="Expat"></A>
GDB can use the Expat XML parsing library. This library may be
included with your operating system distribution; if it is not, you
can get the latest version from <A HREF="http://expat.sourceforge.net">http://expat.sourceforge.net</A>.
The <TT>`configure'</TT> script will search for this library in several
standard locations; if it is installed in an unusual path, you can
use the <SAMP>`--with-libexpat-prefix'</SAMP> option to specify its location.
<P>
Expat is used for:
</P><P>
<UL>
<LI>
Remote protocol memory maps (see section <A HREF="gdb_33.html#SEC737">D.12 Memory Map Format</A>)
<LI>
Target descriptions (see section <A HREF="gdb_35.html#SEC745">F. Target Descriptions</A>)
<LI>
Remote shared library lists (see section <A HREF="gdb_33.html#SEC736">D.11 Library List Format</A>)
<LI>
MS-Windows shared libraries (see <A HREF="gdb_16.html#Shared Libraries">Shared Libraries</A>)
</UL>
<P>
</DL>
<P>
<A NAME="Running Configure"></A>
<HR SIZE="6">
<A NAME="SEC689"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC686"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.2 Invoking the GDB <TT>`configure'</TT> Script </H2>
<!--docid::SEC689::-->
GDB comes with a <TT>`configure'</TT> script that automates the process
of preparing GDB for installation; you can then use <CODE>make</CODE> to
build the <CODE>gdb</CODE> program.
<P>
The GDB distribution includes all the source code you need for
GDB in a single directory, whose name is usually composed by
appending the version number to <SAMP>`gdb'</SAMP>.
</P><P>
For example, the GDB version 6.8 distribution is in the
<TT>`gdb-6.8'</TT> directory. That directory contains:
</P><P>
<DL COMPACT>
<DT><CODE>gdb-6.8/configure (and supporting files)</CODE>
<DD>script for configuring GDB and all its supporting libraries
<P>
<DT><CODE>gdb-6.8/gdb</CODE>
<DD>the source specific to GDB itself
<P>
<DT><CODE>gdb-6.8/bfd</CODE>
<DD>source for the Binary File Descriptor library
<P>
<DT><CODE>gdb-6.8/include</CODE>
<DD>GNU include files
<P>
<DT><CODE>gdb-6.8/libiberty</CODE>
<DD>source for the <SAMP>`-liberty'</SAMP> free software library
<P>
<DT><CODE>gdb-6.8/opcodes</CODE>
<DD>source for the library of opcode tables and disassemblers
<P>
<DT><CODE>gdb-6.8/readline</CODE>
<DD>source for the GNU command-line interface
<P>
<DT><CODE>gdb-6.8/glob</CODE>
<DD>source for the GNU filename pattern-matching subroutine
<P>
<DT><CODE>gdb-6.8/mmalloc</CODE>
<DD>source for the GNU memory-mapped malloc package
</DL>
<P>
The simplest way to configure and build GDB is to run <TT>`configure'</TT>
from the <TT>`gdb-<VAR>version-number</VAR>'</TT> source directory, which in
this example is the <TT>`gdb-6.8'</TT> directory.
</P><P>
First switch to the <TT>`gdb-<VAR>version-number</VAR>'</TT> source directory
if you are not already in it; then run <TT>`configure'</TT>. Pass the
identifier for the platform on which GDB will run as an
argument.
</P><P>
For example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>cd gdb-6.8
./configure <VAR>host</VAR>
make
</FONT></pre></td></tr></table></P><P>
where <VAR>host</VAR> is an identifier such as <SAMP>`sun4'</SAMP> or
<SAMP>`decstation'</SAMP>, that identifies the platform where GDB will run.
(You can often leave off <VAR>host</VAR>; <TT>`configure'</TT> tries to guess the
correct value by examining your system.)
</P><P>
Running <SAMP>`configure <VAR>host</VAR>'</SAMP> and then running <CODE>make</CODE> builds the
<TT>`bfd'</TT>, <TT>`readline'</TT>, <TT>`mmalloc'</TT>, and <TT>`libiberty'</TT>
libraries, then <CODE>gdb</CODE> itself. The configured source files, and the
binaries, are left in the corresponding source directories.
</P><P>
<TT>`configure'</TT> is a Bourne-shell (<CODE>/bin/sh</CODE>) script; if your
system does not recognize this automatically when you run a different
shell, you may need to run <CODE>sh</CODE> on it explicitly:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>sh configure <VAR>host</VAR>
</FONT></pre></td></tr></table></P><P>
If you run <TT>`configure'</TT> from a directory that contains source
directories for multiple libraries or programs, such as the
<TT>`gdb-6.8'</TT> source directory for version 6.8,
<TT>`configure'</TT>
creates configuration files for every directory level underneath (unless
you tell it not to, with the <SAMP>`--norecursion'</SAMP> option).
</P><P>
You should run the <TT>`configure'</TT> script from the top directory in the
source tree, the <TT>`gdb-<VAR>version-number</VAR>'</TT> directory. If you run
<TT>`configure'</TT> from one of the subdirectories, you will configure only
that subdirectory. That is usually not what you want. In particular,
if you run the first <TT>`configure'</TT> from the <TT>`gdb'</TT> subdirectory
of the <TT>`gdb-<VAR>version-number</VAR>'</TT> directory, you will omit the
configuration of <TT>`bfd'</TT>, <TT>`readline'</TT>, and other sibling
directories of the <TT>`gdb'</TT> subdirectory. This leads to build errors
about missing include files such as <TT>`bfd/bfd.h'</TT>.
</P><P>
You can install <CODE>gdb</CODE> anywhere; it has no hardwired paths.
However, you should make sure that the shell on your path (named by
the <SAMP>`SHELL'</SAMP> environment variable) is publicly readable. Remember
that GDB uses the shell to start your program--some systems refuse to
let GDB debug child processes whose programs are not readable.
</P><P>
<A NAME="Separate Objdir"></A>
<HR SIZE="6">
<A NAME="SEC690"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC689"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.3 Compiling GDB in Another Directory </H2>
<!--docid::SEC690::-->
<P>
If you want to run GDB versions for several host or target machines,
you need a different <CODE>gdb</CODE> compiled for each combination of
host and target. <TT>`configure'</TT> is designed to make this easy by
allowing you to generate each configuration in a separate subdirectory,
rather than in the source directory. If your <CODE>make</CODE> program
handles the <SAMP>`VPATH'</SAMP> feature (GNU <CODE>make</CODE> does), running
<CODE>make</CODE> in each of these directories builds the <CODE>gdb</CODE>
program specified there.
</P><P>
To build <CODE>gdb</CODE> in a separate directory, run <TT>`configure'</TT>
with the <SAMP>`--srcdir'</SAMP> option to specify where to find the source.
(You also need to specify a path to find <TT>`configure'</TT>
itself from your working directory. If the path to <TT>`configure'</TT>
would be the same as the argument to <SAMP>`--srcdir'</SAMP>, you can leave out
the <SAMP>`--srcdir'</SAMP> option; it is assumed.)
</P><P>
For example, with version 6.8, you can build GDB in a
separate directory for a Sun 4 like this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>cd gdb-6.8
mkdir ../gdb-sun4
cd ../gdb-sun4
../gdb-6.8/configure sun4
make
</FONT></pre></td></tr></table></P><P>
When <TT>`configure'</TT> builds a configuration using a remote source
directory, it creates a tree for the binaries with the same structure
(and using the same names) as the tree under the source directory. In
the example, you'd find the Sun 4 library <TT>`libiberty.a'</TT> in the
directory <TT>`gdb-sun4/libiberty'</TT>, and GDB itself in
<TT>`gdb-sun4/gdb'</TT>.
</P><P>
Make sure that your path to the <TT>`configure'</TT> script has just one
instance of <TT>`gdb'</TT> in it. If your path to <TT>`configure'</TT> looks
like <TT>`../gdb-6.8/gdb/configure'</TT>, you are configuring only
one subdirectory of GDB, not the whole package. This leads to
build errors about missing include files such as <TT>`bfd/bfd.h'</TT>.
</P><P>
One popular reason to build several GDB configurations in separate
directories is to configure GDB for cross-compiling (where
GDB runs on one machine--the <EM>host</EM>---while debugging
programs that run on another machine--the <EM>target</EM>).
You specify a cross-debugging target by
giving the <SAMP>`--target=<VAR>target</VAR>'</SAMP> option to <TT>`configure'</TT>.
</P><P>
When you run <CODE>make</CODE> to build a program or library, you must run
it in a configured directory--whatever directory you were in when you
called <TT>`configure'</TT> (or one of its subdirectories).
</P><P>
The <CODE>Makefile</CODE> that <TT>`configure'</TT> generates in each source
directory also runs recursively. If you type <CODE>make</CODE> in a source
directory such as <TT>`gdb-6.8'</TT> (or in a separate configured
directory configured with <SAMP>`--srcdir=<VAR>dirname</VAR>/gdb-6.8'</SAMP>), you
will build all the required libraries, and then build GDB.
</P><P>
When you have multiple hosts or targets configured in separate
directories, you can run <CODE>make</CODE> on them in parallel (for example,
if they are NFS-mounted on each of the hosts); they will not interfere
with each other.
</P><P>
<A NAME="Config Names"></A>
<HR SIZE="6">
<A NAME="SEC691"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC692"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC692"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.4 Specifying Names for Hosts and Targets </H2>
<!--docid::SEC691::-->
<P>
The specifications used for hosts and targets in the <TT>`configure'</TT>
script are based on a three-part naming scheme, but some short predefined
aliases are also supported. The full naming scheme encodes three pieces
of information in the following pattern:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><VAR>architecture</VAR>-<VAR>vendor</VAR>-<VAR>os</VAR>
</FONT></pre></td></tr></table></P><P>
For example, you can use the alias <CODE>sun4</CODE> as a <VAR>host</VAR> argument,
or as the value for <VAR>target</VAR> in a <CODE>--target=<VAR>target</VAR></CODE>
option. The equivalent full name is <SAMP>`sparc-sun-sunos4'</SAMP>.
</P><P>
The <TT>`configure'</TT> script accompanying GDB does not provide
any query facility to list all supported host and target names or
aliases. <TT>`configure'</TT> calls the Bourne shell script
<CODE>config.sub</CODE> to map abbreviations to full names; you can read the
script, if you wish, or you can use it to test your guesses on
abbreviations--for example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>% sh config.sub i386-linux
i386-pc-linux-gnu
% sh config.sub alpha-linux
alpha-unknown-linux-gnu
% sh config.sub hp9k700
hppa1.1-hp-hpux
% sh config.sub sun4
sparc-sun-sunos4.1.1
% sh config.sub sun3
m68k-sun-sunos4.1.1
% sh config.sub i986v
Invalid configuration `i986v': machine `i986v' not recognized
</FONT></pre></td></tr></table></P><P>
<CODE>config.sub</CODE> is also distributed in the GDB source
directory (<TT>`gdb-6.8'</TT>, for version 6.8).
</P><P>
<A NAME="Configure Options"></A>
<HR SIZE="6">
<A NAME="SEC692"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.5 <TT>`configure'</TT> Options </H2>
<!--docid::SEC692::-->
<P>
Here is a summary of the <TT>`configure'</TT> options and arguments that
are most often useful for building GDB. <TT>`configure'</TT> also has
several other options not listed here. See Info file `configure.info', node `What Configure Does', for a full explanation of <TT>`configure'</TT>.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>configure [--help]
[--prefix=<VAR>dir</VAR>]
[--exec-prefix=<VAR>dir</VAR>]
[--srcdir=<VAR>dirname</VAR>]
[--norecursion] [--rm]
[--target=<VAR>target</VAR>]
<VAR>host</VAR>
</FONT></pre></td></tr></table></P><P>
You may introduce options with a single <SAMP>`-'</SAMP> rather than
<SAMP>`--'</SAMP> if you prefer; but you may abbreviate option names if you use
<SAMP>`--'</SAMP>.
</P><P>
<DL COMPACT>
<DT><CODE>--help</CODE>
<DD>Display a quick summary of how to invoke <TT>`configure'</TT>.
<P>
<DT><CODE>--prefix=<VAR>dir</VAR></CODE>
<DD>Configure the source to install programs and files under directory
<TT>`<VAR>dir</VAR>'</TT>.
<P>
<DT><CODE>--exec-prefix=<VAR>dir</VAR></CODE>
<DD>Configure the source to install programs under directory
<TT>`<VAR>dir</VAR>'</TT>.
<P>
<DT><CODE>--srcdir=<VAR>dirname</VAR></CODE>
<DD><STRONG>Warning: using this option requires GNU <CODE>make</CODE>, or another
<CODE>make</CODE> that implements the <CODE>VPATH</CODE> feature.</STRONG><BR>
Use this option to make configurations in directories separate from the
GDB source directories. Among other things, you can use this to
build (or maintain) several configurations simultaneously, in separate
directories. <TT>`configure'</TT> writes configuration-specific files in
the current directory, but arranges for them to use the source in the
directory <VAR>dirname</VAR>. <TT>`configure'</TT> creates directories under
the working directory in parallel to the source directories below
<VAR>dirname</VAR>.
<P>
<DT><CODE>--norecursion</CODE>
<DD>Configure only the directory level where <TT>`configure'</TT> is executed; do not
propagate configuration to subdirectories.
<P>
<DT><CODE>--target=<VAR>target</VAR></CODE>
<DD>Configure GDB for cross-debugging programs running on the specified
<VAR>target</VAR>. Without this option, GDB is configured to debug
programs that run on the same machine (<VAR>host</VAR>) as GDB itself.
<P>
There is no convenient way to generate a list of all available targets.
</P><P>
<DT><CODE><VAR>host</VAR> <small>...</small></CODE>
<DD>Configure GDB to run on the specified <VAR>host</VAR>.
<P>
There is no convenient way to generate a list of all available hosts.
</DL>
<P>
There are many other options available as well, but they are generally
needed for special purposes only.
</P><P>
<A NAME="Maintenance Commands"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,447 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Maintenance Commands</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Maintenance Commands">
<META NAME="keywords" CONTENT="Debugging with GDB: Maintenance Commands">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC693"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC692"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_33.html#SEC694"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_33.html#SEC694"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_33.html#SEC694"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> C. Maintenance Commands </H1>
<!--docid::SEC693::-->
<P>
In addition to commands intended for GDB users, GDB
includes a number of commands intended for GDB developers,
that are not documented elsewhere in this manual. These commands are
provided here for reference. (For commands that turn on debugging
messages, see <A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A>.)
</P><P>
<DL COMPACT>
<A NAME="IDX1514"></A>
<DT><CODE>maint agent <VAR>expression</VAR></CODE>
<DD>Translate the given <VAR>expression</VAR> into remote agent bytecodes.
This command is useful for debugging the Agent Expression mechanism
(see section <A HREF="gdb_34.html#SEC738">E. The GDB Agent Expression Mechanism</A>).
<P>
<A NAME="IDX1515"></A>
<A NAME="maint info breakpoints"></A>
<DT><CODE>maint info breakpoints</CODE>
<DD>Using the same format as <SAMP>`info breakpoints'</SAMP>, display both the
breakpoints you've set explicitly, and those GDB is using for
internal purposes. Internal breakpoints are shown with negative
breakpoint numbers. The type column identifies what kind of breakpoint
is shown:
<P>
<DL COMPACT>
<DT><CODE>breakpoint</CODE>
<DD>Normal, explicitly set breakpoint.
<P>
<DT><CODE>watchpoint</CODE>
<DD>Normal, explicitly set watchpoint.
<P>
<DT><CODE>longjmp</CODE>
<DD>Internal breakpoint, used to handle correctly stepping through
<CODE>longjmp</CODE> calls.
<P>
<DT><CODE>longjmp resume</CODE>
<DD>Internal breakpoint at the target of a <CODE>longjmp</CODE>.
<P>
<DT><CODE>until</CODE>
<DD>Temporary internal breakpoint used by the GDB <CODE>until</CODE> command.
<P>
<DT><CODE>finish</CODE>
<DD>Temporary internal breakpoint used by the GDB <CODE>finish</CODE> command.
<P>
<DT><CODE>shlib events</CODE>
<DD>Shared library events.
<P>
</DL>
<P>
<A NAME="IDX1516"></A>
<DT><CODE>maint check-symtabs</CODE>
<DD>Check the consistency of psymtabs and symtabs.
<P>
<A NAME="IDX1517"></A>
<DT><CODE>maint cplus first_component <VAR>name</VAR></CODE>
<DD>Print the first C<TT>++</TT> class/namespace component of <VAR>name</VAR>.
<P>
<A NAME="IDX1518"></A>
<DT><CODE>maint cplus namespace</CODE>
<DD>Print the list of possible C<TT>++</TT> namespaces.
<P>
<A NAME="IDX1519"></A>
<DT><CODE>maint demangle <VAR>name</VAR></CODE>
<DD>Demangle a C<TT>++</TT> or Objective-C mangled <VAR>name</VAR>.
<P>
<A NAME="IDX1520"></A>
<A NAME="IDX1521"></A>
<A NAME="IDX1522"></A>
<DT><CODE>maint deprecate <VAR>command</VAR> [<VAR>replacement</VAR>]</CODE>
<DD><DT><CODE>maint undeprecate <VAR>command</VAR></CODE>
<DD>Deprecate or undeprecate the named <VAR>command</VAR>. Deprecated commands
cause GDB to issue a warning when you use them. The optional
argument <VAR>replacement</VAR> says which newer command should be used in
favor of the deprecated one; if it is given, GDB will mention
the replacement as part of the warning.
<P>
<A NAME="IDX1523"></A>
<DT><CODE>maint dump-me</CODE>
<DD><A NAME="IDX1524"></A>
Cause a fatal signal in the debugger and force it to dump its core.
This is supported only on systems which support aborting a program
with the <CODE>SIGQUIT</CODE> signal.
<P>
<A NAME="IDX1525"></A>
<A NAME="IDX1526"></A>
<DT><CODE>maint internal-error [<VAR>message-text</VAR>]</CODE>
<DD><DT><CODE>maint internal-warning [<VAR>message-text</VAR>]</CODE>
<DD>Cause GDB to call the internal function <CODE>internal_error</CODE>
or <CODE>internal_warning</CODE> and hence behave as though an internal error
or internal warning has been detected. In addition to reporting the
internal problem, these functions give the user the opportunity to
either quit GDB or create a core file of the current
GDB session.
<P>
These commands take an optional parameter <VAR>message-text</VAR> that is
used as the text of the error or warning message.
</P><P>
Here's an example of using <CODE>internal-error</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <KBD>maint internal-error testing, 1, 2</KBD>
<small>...</small>/maint.c:121: internal-error: testing, 1, 2
A problem internal to GDB has been detected. Further
debugging may prove unreliable.
Quit this debugging session? (y or n) <KBD>n</KBD>
Create a core file? (y or n) <KBD>n</KBD>
(gdb)
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX1527"></A>
<DT><CODE>maint packet <VAR>text</VAR></CODE>
<DD>If GDB is talking to an inferior via the serial protocol,
then this command sends the string <VAR>text</VAR> to the inferior, and
displays the response packet. GDB supplies the initial
<SAMP>`$'</SAMP> character, the terminating <SAMP>`#'</SAMP> character, and the
checksum.
<P>
<A NAME="IDX1528"></A>
<DT><CODE>maint print architecture [<VAR>file</VAR>]</CODE>
<DD>Print the entire architecture configuration. The optional argument
<VAR>file</VAR> names the file where the output goes.
<P>
<A NAME="IDX1529"></A>
<DT><CODE>maint print c-tdesc</CODE>
<DD>Print the current target description (see section <A HREF="gdb_35.html#SEC745">F. Target Descriptions</A>) as
a C source file. The created source file can be used in GDB
when an XML parser is not available to parse the description.
<P>
<A NAME="IDX1530"></A>
<DT><CODE>maint print dummy-frames</CODE>
<DD>Prints the contents of GDB's internal dummy-frame stack.
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <KBD>b add</KBD>
<small>...</small>
(gdb) <KBD>print add(2,3)</KBD>
Breakpoint 2, add (a=2, b=3) at <small>...</small>
58 return (a + b);
The program being debugged stopped while in a function called from GDB.
<small>...</small>
(gdb) <KBD>maint print dummy-frames</KBD>
0x1a57c80: pc=0x01014068 fp=0x0200bddc sp=0x0200bdd6
top=0x0200bdd4 id={stack=0x200bddc,code=0x101405c}
call_lo=0x01014000 call_hi=0x01014001
(gdb)
</FONT></pre></td></tr></table></P><P>
Takes an optional file parameter.
</P><P>
<A NAME="IDX1531"></A>
<A NAME="IDX1532"></A>
<A NAME="IDX1533"></A>
<A NAME="IDX1534"></A>
<DT><CODE>maint print registers [<VAR>file</VAR>]</CODE>
<DD><DT><CODE>maint print raw-registers [<VAR>file</VAR>]</CODE>
<DD><DT><CODE>maint print cooked-registers [<VAR>file</VAR>]</CODE>
<DD><DT><CODE>maint print register-groups [<VAR>file</VAR>]</CODE>
<DD>Print GDB's internal register data structures.
<P>
The command <CODE>maint print raw-registers</CODE> includes the contents of
the raw register cache; the command <CODE>maint print cooked-registers</CODE>
includes the (cooked) value of all registers; and the command
<CODE>maint print register-groups</CODE> includes the groups that each
register is a member of. See section `Registers' in <CITE>GDB Internals</CITE>.
</P><P>
These commands take an optional parameter, a file name to which to
write the information.
</P><P>
<A NAME="IDX1535"></A>
<DT><CODE>maint print reggroups [<VAR>file</VAR>]</CODE>
<DD>Print GDB's internal register group data structures. The
optional argument <VAR>file</VAR> tells to what file to write the
information.
<P>
The register groups info looks like this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <KBD>maint print reggroups</KBD>
Group Type
general user
float user
all user
vector user
system user
save internal
restore internal
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX1536"></A>
<DT><CODE>flushregs</CODE>
<DD>This command forces GDB to flush its internal register cache.
<P>
<A NAME="IDX1537"></A>
<A NAME="IDX1538"></A>
<DT><CODE>maint print objfiles</CODE>
<DD>Print a dump of all known object files. For each object file, this
command prints its name, address in memory, and all of its psymtabs
and symtabs.
<P>
<A NAME="IDX1539"></A>
<A NAME="IDX1540"></A>
<DT><CODE>maint print statistics</CODE>
<DD>This command prints, for each object file in the program, various data
about that object file followed by the byte cache (<EM>bcache</EM>)
statistics for the object file. The objfile data includes the number
of minimal, partial, full, and stabs symbols, the number of types
defined by the objfile, the number of as yet unexpanded psym tables,
the number of line tables and string tables, and the amount of memory
used by the various tables. The bcache statistics include the counts,
sizes, and counts of duplicates of all and unique objects, max,
average, and median entry size, total memory used and its overhead and
savings, and various measures of the hash table size and chain
lengths.
<P>
<A NAME="IDX1541"></A>
<A NAME="IDX1542"></A>
<DT><CODE>maint print target-stack</CODE>
<DD>A <EM>target</EM> is an interface between the debugger and a particular
kind of file or process. Targets can be stacked in <EM>strata</EM>,
so that more than one target can potentially respond to a request.
In particular, memory accesses will walk down the stack of targets
until they find a target that is interested in handling that particular
address.
<P>
This command prints a short description of each layer that was pushed on
the <EM>target stack</EM>, starting from the top layer down to the bottom one.
</P><P>
<A NAME="IDX1543"></A>
<A NAME="IDX1544"></A>
<DT><CODE>maint print type <VAR>expr</VAR></CODE>
<DD>Print the type chain for a type specified by <VAR>expr</VAR>. The argument
can be either a type name or a symbol. If it is a symbol, the type of
that symbol is described. The type chain produced by this command is
a recursive definition of the data type as stored in GDB's
data structures, including its flags and contained types.
<P>
<A NAME="IDX1545"></A>
<A NAME="IDX1546"></A>
<DT><CODE>maint set dwarf2 max-cache-age</CODE>
<DD><DT><CODE>maint show dwarf2 max-cache-age</CODE>
<DD>Control the DWARF 2 compilation unit cache.
<P>
<A NAME="IDX1547"></A>
In object files with inter-compilation-unit references, such as those
produced by the GCC option <SAMP>`-feliminate-dwarf2-dups'</SAMP>, the DWARF 2
reader needs to frequently refer to previously read compilation units.
This setting controls how long a compilation unit will remain in the
cache if it is not referenced. A higher limit means that cached
compilation units will be stored in memory longer, and more total
memory will be used. Setting it to zero disables caching, which will
slow down GDB startup, but reduce memory consumption.
</P><P>
<A NAME="IDX1548"></A>
<A NAME="IDX1549"></A>
<A NAME="IDX1550"></A>
<DT><CODE>maint set profile</CODE>
<DD><DT><CODE>maint show profile</CODE>
<DD>Control profiling of GDB.
<P>
Profiling will be disabled until you use the <SAMP>`maint set profile'</SAMP>
command to enable it. When you enable profiling, the system will begin
collecting timing and execution count data; when you disable profiling or
exit GDB, the results will be written to a log file. Remember that
if you use profiling, GDB will overwrite the profiling log file
(often called <TT>`gmon.out'</TT>). If you have a record of important profiling
data in a <TT>`gmon.out'</TT> file, be sure to move it to a safe location.
</P><P>
Configuring with <SAMP>`--enable-profiling'</SAMP> arranges for GDB to be
compiled with the <SAMP>`-pg'</SAMP> compiler option.
</P><P>
<A NAME="IDX1551"></A>
<A NAME="IDX1552"></A>
<DT><CODE>maint show-debug-regs</CODE>
<DD>Control whether to show variables that mirror the x86 hardware debug
registers. Use <CODE>ON</CODE> to enable, <CODE>OFF</CODE> to disable. If
enabled, the debug registers values are shown when GDB inserts or
removes a hardware breakpoint or watchpoint, and when the inferior
triggers a hardware-assisted breakpoint or watchpoint.
<P>
<A NAME="IDX1553"></A>
<A NAME="IDX1554"></A>
<DT><CODE>maint space</CODE>
<DD>Control whether to display memory usage for each command. If set to a
nonzero value, GDB will display how much memory each command
took, following the command's own output. This can also be requested
by invoking GDB with the <SAMP>`--statistics'</SAMP> command-line
switch (see section <A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A>).
<P>
<A NAME="IDX1555"></A>
<A NAME="IDX1556"></A>
<DT><CODE>maint time</CODE>
<DD>Control whether to display the execution time for each command. If
set to a nonzero value, GDB will display how much time it
took to execute each command, following the command's own output.
This can also be requested by invoking GDB with the
<SAMP>`--statistics'</SAMP> command-line switch (see section <A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A>).
<P>
<A NAME="IDX1557"></A>
<DT><CODE>maint translate-address [<VAR>section</VAR>] <VAR>addr</VAR></CODE>
<DD>Find the symbol stored at the location specified by the address
<VAR>addr</VAR> and an optional section name <VAR>section</VAR>. If found,
GDB prints the name of the closest symbol and an offset from
the symbol's location to the specified address. This is similar to
the <CODE>info address</CODE> command (see section <A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A>), except that this
command also allows to find symbols in other sections.
<P>
</DL>
<P>
The following command is useful for non-interactive invocations of
GDB, such as in the test suite.
</P><P>
<DL COMPACT>
<DT><CODE>set watchdog <VAR>nsec</VAR></CODE>
<DD><A NAME="IDX1558"></A>
<A NAME="IDX1559"></A>
<A NAME="IDX1560"></A>
Set the maximum number of seconds GDB will wait for the
target operation to finish. If this time expires, GDB
reports and error and the command is aborted.
<P>
<DT><CODE>show watchdog</CODE>
<DD>Show the current setting of the target wait timeout.
</DL>
<P>
<A NAME="Remote Protocol"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_33.html#SEC694"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_33.html#SEC694"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,752 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Target Descriptions</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Target Descriptions">
<META NAME="keywords" CONTENT="Debugging with GDB: Target Descriptions">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC745"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_34.html#SEC744"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC746"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> F. Target Descriptions </H1>
<!--docid::SEC745::-->
<P>
<STRONG>Warning:</STRONG> target descriptions are still under active development,
and the contents and format may change between GDB releases.
The format is expected to stabilize in the future.
</P><P>
One of the challenges of using GDB to debug embedded systems
is that there are so many minor variants of each processor
architecture in use. It is common practice for vendors to start with
a standard processor core -- ARM, PowerPC, or MIPS, for example ---
and then make changes to adapt it to a particular market niche. Some
architectures have hundreds of variants, available from dozens of
vendors. This leads to a number of problems:
</P><P>
<UL>
<LI>
With so many different customized processors, it is difficult for
the GDB maintainers to keep up with the changes.
<LI>
Since individual variants may have short lifetimes or limited
audiences, it may not be worthwhile to carry information about every
variant in the GDB source tree.
<LI>
When GDB does support the architecture of the embedded system
at hand, the task of finding the correct architecture name to give the
<CODE>set architecture</CODE> command can be error-prone.
</UL>
<P>
To address these problems, the GDB remote protocol allows a
target system to not only identify itself to GDB, but to
actually describe its own features. This lets GDB support
processor variants it has never seen before -- to the extent that the
descriptions are accurate, and that GDB understands them.
</P><P>
GDB must be linked with the Expat library to support XML
target descriptions. See <A HREF="gdb_31.html#Expat">Expat</A>.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC746">F.1 Retrieving Descriptions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How descriptions are fetched from a target.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC747">F.2 Target Description Format</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The contents of a target description.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC753">F.3 Predefined Target Types</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Standard types available for target
descriptions.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC754">F.4 Standard Target Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Features GDB knows about.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Retrieving Descriptions"></A>
<HR SIZE="6">
<A NAME="SEC746"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> F.1 Retrieving Descriptions </H2>
<!--docid::SEC746::-->
<P>
Target descriptions can be read from the target automatically, or
specified by the user manually. The default behavior is to read the
description from the target. GDB retrieves it via the remote
protocol using <SAMP>`qXfer'</SAMP> requests (see section <A HREF="gdb_33.html#SEC698">qXfer</A>). The <VAR>annex</VAR> in the <SAMP>`qXfer'</SAMP> packet will be
<SAMP>`target.xml'</SAMP>. The contents of the <SAMP>`target.xml'</SAMP> annex are an
XML document, of the form described in <A HREF="gdb_35.html#SEC747">F.2 Target Description Format</A>.
</P><P>
Alternatively, you can specify a file to read for the target description.
If a file is set, the target will not be queried. The commands to
specify a file are:
</P><P>
<DL COMPACT>
<A NAME="IDX1655"></A>
<DT><CODE>set tdesc filename <VAR>path</VAR></CODE>
<DD>Read the target description from <VAR>path</VAR>.
<P>
<A NAME="IDX1656"></A>
<DT><CODE>unset tdesc filename</CODE>
<DD>Do not read the XML target description from a file. GDB
will use the description supplied by the current target.
<P>
<A NAME="IDX1657"></A>
<DT><CODE>show tdesc filename</CODE>
<DD>Show the filename to read for a target description, if any.
</DL>
<P>
<A NAME="Target Description Format"></A>
<HR SIZE="6">
<A NAME="SEC747"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC746"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC748"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> F.2 Target Description Format </H2>
<!--docid::SEC747::-->
<P>
A target description annex is an <A HREF="http://www.w3.org/XML/">XML</A>
document which complies with the Document Type Definition provided in
the GDB sources in <TT>`gdb/features/gdb-target.dtd'</TT>. This
means you can use generally available tools like <CODE>xmllint</CODE> to
check that your feature descriptions are well-formed and valid.
However, to help people unfamiliar with XML write descriptions for
their targets, we also describe the grammar here.
</P><P>
Target descriptions can identify the architecture of the remote target
and (for some architectures) provide information about custom register
sets. GDB can use this information to autoconfigure for your
target, or to warn you if you connect to an unsupported target.
</P><P>
Here is a simple target description:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;target version="1.0"&#62;
&#60;architecture&#62;i386:x86-64&#60;/architecture&#62;
&#60;/target&#62;
</FONT></pre></td></tr></table></P><P>
This minimal description only says that the target uses
the x86-64 architecture.
</P><P>
A target description has the following overall form, with [ ] marking
optional elements and <small>...</small> marking repeatable elements. The elements
are explained further below.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;?xml version="1.0"?&#62;
&#60;!DOCTYPE target SYSTEM "gdb-target.dtd"&#62;
&#60;target version="1.0"&#62;
[<VAR>architecture</VAR>]
[<VAR>feature</VAR><small>...</small>]
&#60;/target&#62;
</FONT></pre></td></tr></table></P><P>
The description is generally insensitive to whitespace and line
breaks, under the usual common-sense rules. The XML version
declaration and document type declaration can generally be omitted
(GDB does not require them), but specifying them may be
useful for XML validation tools. The <SAMP>`version'</SAMP> attribute for
<SAMP>`&#60;target&#62;'</SAMP> may also be omitted, but we recommend
including it; if future versions of GDB use an incompatible
revision of <TT>`gdb-target.dtd'</TT>, they will detect and report
the version mismatch.
</P><P>
<HR SIZE="6">
<A NAME="SEC748"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC749"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.2.1 Inclusion </H3>
<!--docid::SEC748::-->
<P>
It can sometimes be valuable to split a target description up into
several different annexes, either for organizational purposes, or to
share files between different possible target descriptions. You can
divide a description into multiple files by replacing any element of
the target description with an inclusion directive of the form:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;xi:include href="<VAR>document</VAR>"/&#62;
</FONT></pre></td></tr></table></P><P>
When GDB encounters an element of this form, it will retrieve
the named XML <VAR>document</VAR>, and replace the inclusion directive with
the contents of that document. If the current description was read
using <SAMP>`qXfer'</SAMP>, then so will be the included document;
<VAR>document</VAR> will be interpreted as the name of an annex. If the
current description was read from a file, GDB will look for
<VAR>document</VAR> as a file in the same directory where it found the
original description.
</P><P>
<HR SIZE="6">
<A NAME="SEC749"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC748"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC750"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC750"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.2.2 Architecture </H3>
<!--docid::SEC749::-->
<P>
An <SAMP>`&#60;architecture&#62;'</SAMP> element has this form:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> &#60;architecture&#62;<VAR>arch</VAR>&#60;/architecture&#62;
</FONT></pre></td></tr></table></P><P>
<VAR>arch</VAR> is an architecture name from the same selection
accepted by <CODE>set architecture</CODE> (see section <A HREF="gdb_17.html#SEC158">Specifying a Debugging Target</A>).
</P><P>
<HR SIZE="6">
<A NAME="SEC750"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC749"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC751"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC751"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.2.3 Features </H3>
<!--docid::SEC750::-->
<P>
Each <SAMP>`&#60;feature&#62;'</SAMP> describes some logical portion of the target
system. Features are currently used to describe available CPU
registers and the types of their contents. A <SAMP>`&#60;feature&#62;'</SAMP> element
has this form:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;feature name="<VAR>name</VAR>"&#62;
[<VAR>type</VAR><small>...</small>]
<VAR>reg</VAR><small>...</small>
&#60;/feature&#62;
</FONT></pre></td></tr></table></P><P>
Each feature's name should be unique within the description. The name
of a feature does not matter unless GDB has some special
knowledge of the contents of that feature; if it does, the feature
should have its standard name. See section <A HREF="gdb_35.html#SEC754">F.4 Standard Target Features</A>.
</P><P>
<HR SIZE="6">
<A NAME="SEC751"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC750"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC752"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC752"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.2.4 Types </H3>
<!--docid::SEC751::-->
<P>
Any register's value is a collection of bits which GDB must
interpret. The default interpretation is a two's complement integer,
but other types can be requested by name in the register description.
Some predefined types are provided by GDB (see section <A HREF="gdb_35.html#SEC753">F.3 Predefined Target Types</A>), and the description can define additional composite types.
</P><P>
Each type element must have an <SAMP>`id'</SAMP> attribute, which gives
a unique (within the containing <SAMP>`&#60;feature&#62;'</SAMP>) name to the type.
Types must be defined before they are used.
</P><P>
<A NAME="IDX1658"></A>
Some targets offer vector registers, which can be treated as arrays
of scalar elements. These types are written as <SAMP>`&#60;vector&#62;'</SAMP> elements,
specifying the array element type, <VAR>type</VAR>, and the number of elements,
<VAR>count</VAR>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;vector id="<VAR>id</VAR>" type="<VAR>type</VAR>" count="<VAR>count</VAR>"/&#62;
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX1659"></A>
If a register's value is usefully viewed in multiple ways, define it
with a union type containing the useful representations. The
<SAMP>`&#60;union&#62;'</SAMP> element contains one or more <SAMP>`&#60;field&#62;'</SAMP> elements,
each of which has a <VAR>name</VAR> and a <VAR>type</VAR>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;union id="<VAR>id</VAR>"&#62;
&#60;field name="<VAR>name</VAR>" type="<VAR>type</VAR>"/&#62;
<small>...</small>
&#60;/union&#62;
</FONT></pre></td></tr></table></P><P>
<HR SIZE="6">
<A NAME="SEC752"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC751"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC747"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.2.5 Registers </H3>
<!--docid::SEC752::-->
<P>
Each register is represented as an element with this form:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>&#60;reg name="<VAR>name</VAR>"
bitsize="<VAR>size</VAR>"
[regnum="<VAR>num</VAR>"]
[save-restore="<VAR>save-restore</VAR>"]
[type="<VAR>type</VAR>"]
[group="<VAR>group</VAR>"]/&#62;
</FONT></pre></td></tr></table></P><P>
The components are as follows:
</P><P>
<DL COMPACT>
<DT><VAR>name</VAR>
<DD>The register's name; it must be unique within the target description.
<P>
<DT><VAR>bitsize</VAR>
<DD>The register's size, in bits.
<P>
<DT><VAR>regnum</VAR>
<DD>The register's number. If omitted, a register's number is one greater
than that of the previous register (either in the current feature or in
a preceeding feature); the first register in the target description
defaults to zero. This register number is used to read or write
the register; e.g. it is used in the remote <CODE>p</CODE> and <CODE>P</CODE>
packets, and registers appear in the <CODE>g</CODE> and <CODE>G</CODE> packets
in order of increasing register number.
<P>
<DT><VAR>save-restore</VAR>
<DD>Whether the register should be preserved across inferior function
calls; this must be either <CODE>yes</CODE> or <CODE>no</CODE>. The default is
<CODE>yes</CODE>, which is appropriate for most registers except for
some system control registers; this is not related to the target's
ABI.
<P>
<DT><VAR>type</VAR>
<DD>The type of the register. <VAR>type</VAR> may be a predefined type, a type
defined in the current feature, or one of the special types <CODE>int</CODE>
and <CODE>float</CODE>. <CODE>int</CODE> is an integer type of the correct size
for <VAR>bitsize</VAR>, and <CODE>float</CODE> is a floating point type (in the
architecture's normal floating point format) of the correct size for
<VAR>bitsize</VAR>. The default is <CODE>int</CODE>.
<P>
<DT><VAR>group</VAR>
<DD>The register group to which this register belongs. <VAR>group</VAR> must
be either <CODE>general</CODE>, <CODE>float</CODE>, or <CODE>vector</CODE>. If no
<VAR>group</VAR> is specified, GDB will not display the register
in <CODE>info registers</CODE>.
<P>
</DL>
<P>
<A NAME="Predefined Target Types"></A>
<HR SIZE="6">
<A NAME="SEC753"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC752"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> F.3 Predefined Target Types </H2>
<!--docid::SEC753::-->
<P>
Type definitions in the self-description can build up composite types
from basic building blocks, but can not define fundamental types. Instead,
standard identifiers are provided by GDB for the fundamental
types. The currently supported types are:
</P><P>
<DL COMPACT>
<DT><CODE>int8</CODE>
<DD><DT><CODE>int16</CODE>
<DD><DT><CODE>int32</CODE>
<DD><DT><CODE>int64</CODE>
<DD><DT><CODE>int128</CODE>
<DD>Signed integer types holding the specified number of bits.
<P>
<DT><CODE>uint8</CODE>
<DD><DT><CODE>uint16</CODE>
<DD><DT><CODE>uint32</CODE>
<DD><DT><CODE>uint64</CODE>
<DD><DT><CODE>uint128</CODE>
<DD>Unsigned integer types holding the specified number of bits.
<P>
<DT><CODE>code_ptr</CODE>
<DD><DT><CODE>data_ptr</CODE>
<DD>Pointers to unspecified code and data. The program counter and
any dedicated return address register may be marked as code
pointers; printing a code pointer converts it into a symbolic
address. The stack pointer and any dedicated address registers
may be marked as data pointers.
<P>
<DT><CODE>ieee_single</CODE>
<DD>Single precision IEEE floating point.
<P>
<DT><CODE>ieee_double</CODE>
<DD>Double precision IEEE floating point.
<P>
<DT><CODE>arm_fpa_ext</CODE>
<DD>The 12-byte extended precision format used by ARM FPA registers.
<P>
</DL>
<P>
<A NAME="Standard Target Features"></A>
<HR SIZE="6">
<A NAME="SEC754"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC753"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC755"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> F.4 Standard Target Features </H2>
<!--docid::SEC754::-->
<P>
A target description must contain either no registers or all the
target's registers. If the description contains no registers, then
GDB will assume a default register layout, selected based on
the architecture. If the description contains any registers, the
default layout will not be used; the standard registers must be
described in the target description, in such a way that GDB
can recognize them.
</P><P>
This is accomplished by giving specific names to feature elements
which contain standard registers. GDB will look for features
with those names and verify that they contain the expected registers;
if any known feature is missing required registers, or if any required
feature is missing, GDB will reject the target
description. You can add additional registers to any of the
standard features -- GDB will display them just as if
they were added to an unrecognized feature.
</P><P>
This section lists the known features and their expected contents.
Sample XML documents for these features are included in the
GDB source tree, in the directory <TT>`gdb/features'</TT>.
</P><P>
Names recognized by GDB should include the name of the
company or organization which selected the name, and the overall
architecture to which the feature applies; so e.g. the feature
containing ARM core registers is named <SAMP>`org.gnu.gdb.arm.core'</SAMP>.
</P><P>
The names of registers are not case sensitive for the purpose
of recognizing standard features, but GDB will only display
registers using the capitalization used in the description.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC755">F.4.1 ARM Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC756">F.4.2 MIPS Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC757">F.4.3 M68K Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_35.html#SEC758">F.4.4 PowerPC Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="ARM Features"></A>
<HR SIZE="6">
<A NAME="SEC755"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC756"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.4.1 ARM Features </H3>
<!--docid::SEC755::-->
<P>
The <SAMP>`org.gnu.gdb.arm.core'</SAMP> feature is required for ARM targets.
It should contain registers <SAMP>`r0'</SAMP> through <SAMP>`r13'</SAMP>, <SAMP>`sp'</SAMP>,
<SAMP>`lr'</SAMP>, <SAMP>`pc'</SAMP>, and <SAMP>`cpsr'</SAMP>.
</P><P>
The <SAMP>`org.gnu.gdb.arm.fpa'</SAMP> feature is optional. If present, it
should contain registers <SAMP>`f0'</SAMP> through <SAMP>`f7'</SAMP> and <SAMP>`fps'</SAMP>.
</P><P>
The <SAMP>`org.gnu.gdb.xscale.iwmmxt'</SAMP> feature is optional. If present,
it should contain at least registers <SAMP>`wR0'</SAMP> through <SAMP>`wR15'</SAMP> and
<SAMP>`wCGR0'</SAMP> through <SAMP>`wCGR3'</SAMP>. The <SAMP>`wCID'</SAMP>, <SAMP>`wCon'</SAMP>,
<SAMP>`wCSSF'</SAMP>, and <SAMP>`wCASF'</SAMP> registers are optional.
</P><P>
<A NAME="MIPS Features"></A>
<HR SIZE="6">
<A NAME="SEC756"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC755"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC757"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC757"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.4.2 MIPS Features </H3>
<!--docid::SEC756::-->
<P>
The <SAMP>`org.gnu.gdb.mips.cpu'</SAMP> feature is required for MIPS targets.
It should contain registers <SAMP>`r0'</SAMP> through <SAMP>`r31'</SAMP>, <SAMP>`lo'</SAMP>,
<SAMP>`hi'</SAMP>, and <SAMP>`pc'</SAMP>. They may be 32-bit or 64-bit depending
on the target.
</P><P>
The <SAMP>`org.gnu.gdb.mips.cp0'</SAMP> feature is also required. It should
contain at least the <SAMP>`status'</SAMP>, <SAMP>`badvaddr'</SAMP>, and <SAMP>`cause'</SAMP>
registers. They may be 32-bit or 64-bit depending on the target.
</P><P>
The <SAMP>`org.gnu.gdb.mips.fpu'</SAMP> feature is currently required, though
it may be optional in a future version of GDB. It should
contain registers <SAMP>`f0'</SAMP> through <SAMP>`f31'</SAMP>, <SAMP>`fcsr'</SAMP>, and
<SAMP>`fir'</SAMP>. They may be 32-bit or 64-bit depending on the target.
</P><P>
The <SAMP>`org.gnu.gdb.mips.linux'</SAMP> feature is optional. It should
contain a single register, <SAMP>`restart'</SAMP>, which is used by the
Linux kernel to control restartable syscalls.
</P><P>
<A NAME="M68K Features"></A>
<HR SIZE="6">
<A NAME="SEC757"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC756"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC758"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC758"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.4.3 M68K Features </H3>
<!--docid::SEC757::-->
<P>
<DL COMPACT>
<DT><CODE><SAMP>`org.gnu.gdb.m68k.core'</SAMP></CODE>
<DD><DT><CODE><SAMP>`org.gnu.gdb.coldfire.core'</SAMP></CODE>
<DD><DT><CODE><SAMP>`org.gnu.gdb.fido.core'</SAMP></CODE>
<DD>One of those features must be always present.
The feature that is present determines which flavor of m86k is
used. The feature that is present should contain registers
<SAMP>`d0'</SAMP> through <SAMP>`d7'</SAMP>, <SAMP>`a0'</SAMP> through <SAMP>`a5'</SAMP>, <SAMP>`fp'</SAMP>,
<SAMP>`sp'</SAMP>, <SAMP>`ps'</SAMP> and <SAMP>`pc'</SAMP>.
<P>
<DT><CODE><SAMP>`org.gnu.gdb.coldfire.fp'</SAMP></CODE>
<DD>This feature is optional. If present, it should contain registers
<SAMP>`fp0'</SAMP> through <SAMP>`fp7'</SAMP>, <SAMP>`fpcontrol'</SAMP>, <SAMP>`fpstatus'</SAMP> and
<SAMP>`fpiaddr'</SAMP>.
</DL>
<P>
<A NAME="PowerPC Features"></A>
<HR SIZE="6">
<A NAME="SEC758"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC757"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC754"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> F.4.4 PowerPC Features </H3>
<!--docid::SEC758::-->
<P>
The <SAMP>`org.gnu.gdb.power.core'</SAMP> feature is required for PowerPC
targets. It should contain registers <SAMP>`r0'</SAMP> through <SAMP>`r31'</SAMP>,
<SAMP>`pc'</SAMP>, <SAMP>`msr'</SAMP>, <SAMP>`cr'</SAMP>, <SAMP>`lr'</SAMP>, <SAMP>`ctr'</SAMP>, and
<SAMP>`xer'</SAMP>. They may be 32-bit or 64-bit depending on the target.
</P><P>
The <SAMP>`org.gnu.gdb.power.fpu'</SAMP> feature is optional. It should
contain registers <SAMP>`f0'</SAMP> through <SAMP>`f31'</SAMP> and <SAMP>`fpscr'</SAMP>.
</P><P>
The <SAMP>`org.gnu.gdb.power.altivec'</SAMP> feature is optional. It should
contain registers <SAMP>`vr0'</SAMP> through <SAMP>`vr31'</SAMP>, <SAMP>`vscr'</SAMP>,
and <SAMP>`vrsave'</SAMP>.
</P><P>
The <SAMP>`org.gnu.gdb.power.spe'</SAMP> feature is optional. It should
contain registers <SAMP>`ev0h'</SAMP> through <SAMP>`ev31h'</SAMP>, <SAMP>`acc'</SAMP>, and
<SAMP>`spefscr'</SAMP>. SPE targets should provide 32-bit registers in
<SAMP>`org.gnu.gdb.power.core'</SAMP> and provide the upper halves in
<SAMP>`ev0h'</SAMP> through <SAMP>`ev31h'</SAMP>. GDB will combine
these to present registers <SAMP>`ev0'</SAMP> through <SAMP>`ev31'</SAMP> to the
user.
</P><P>
<A NAME="Copying"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC745"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,535 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Copying</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Copying">
<META NAME="keywords" CONTENT="Debugging with GDB: Copying">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC759"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_35.html#SEC758"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC760"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC762"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC762"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> G. GNU GENERAL PUBLIC LICENSE </H1>
<!--docid::SEC759::-->
<center>
Version 2, June 1991
</center>
<P>
<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</pre></td></tr></table></P><P>
<HR SIZE="6">
<A NAME="SEC760"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC759"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC761"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> Preamble </H2>
<!--docid::SEC760::-->
<P>
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
</P><P>
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
</P><P>
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
</P><P>
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
</P><P>
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
</P><P>
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
</P><P>
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
</P><P>
The precise terms and conditions for copying, distribution and
modification follow.
</P><P>
<center>
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
</center>
</P><P>
<OL>
<LI>
This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
<P>
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
</P><P>
<LI>
You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
<P>
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
</P><P>
<LI>
You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
<P>
<OL>
<LI>
You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
<P>
<LI>
You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
<P>
<LI>
If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
</OL>
<P>
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
</P><P>
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
</P><P>
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
</P><P>
<LI>
You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
<P>
<OL>
<LI>
Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
<P>
<LI>
Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
<P>
<LI>
Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
</OL>
<P>
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
</P><P>
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
</P><P>
<LI>
You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
<P>
<LI>
You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
<P>
<LI>
Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
<P>
<LI>
If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
<P>
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
</P><P>
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
</P><P>
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
</P><P>
<LI>
If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
<P>
<LI>
The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
<P>
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
</P><P>
<LI>
If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
<P>
<center>
NO WARRANTY
</center>
</P><P>
<LI>
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
<P>
<LI>
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
</OL>
<P>
<center>
END OF TERMS AND CONDITIONS
</center>
</P><P>
<HR SIZE="6">
<A NAME="SEC761"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC760"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC762"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> How to Apply These Terms to Your New Programs </H2>
<!--docid::SEC761::-->
<P>
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
</P><P>
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><VAR>one line to give the program's name and a brief idea of what it does.</VAR>
Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
</FONT></pre></td></tr></table></P><P>
Also add information on how to contact you by electronic and paper mail.
</P><P>
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>Gnomovision version 69, Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
</FONT></pre></td></tr></table></P><P>
The hypothetical commands <SAMP>`show w'</SAMP> and <SAMP>`show c'</SAMP> should show
the appropriate parts of the General Public License. Of course, the
commands you use may be called something other than <SAMP>`show w'</SAMP> and
<SAMP>`show c'</SAMP>; they could even be mouse-clicks or menu items--whatever
suits your program.
</P><P>
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<VAR>signature of Ty Coon</VAR>, 1 April 1989
Ty Coon, President of Vice
</FONT></pre></td></tr></table></P><P>
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
</P><P>
<A NAME="GNU Free Documentation License"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,599 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: GNU Free Documentation License</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: GNU Free Documentation License">
<META NAME="keywords" CONTENT="Debugging with GDB: GNU Free Documentation License">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC762"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_36.html#SEC761"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC763"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> H. GNU Free Documentation License </H1>
<!--docid::SEC762::-->
<P>
<A NAME="IDX1660"></A>
<center>
Version 1.2, November 2002
</center>
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</pre></td></tr></table></P><P>
<OL>
<LI>
PREAMBLE
<P>
The purpose of this License is to make a manual, textbook, or other
functional and useful document <EM>free</EM> in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
</P><P>
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
</P><P>
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
</P><P>
<LI>
APPLICABILITY AND DEFINITIONS
<P>
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
</P><P>
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
</P><P>
A "Secondary Section" is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
any mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
</P><P>
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
</P><P>
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
</P><P>
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
</P><P>
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input
format, <FONT SIZE="-1">SGML</FONT> or <FONT SIZE="-1">XML</FONT> using a publicly available
<FONT SIZE="-1">DTD</FONT>, and standard-conforming simple <FONT SIZE="-1">HTML</FONT>,
PostScript or <FONT SIZE="-1">PDF</FONT> designed for human modification. Examples
of transparent image formats include <FONT SIZE="-1">PNG</FONT>, <FONT SIZE="-1">XCF</FONT> and
<FONT SIZE="-1">JPG</FONT>. Opaque formats include proprietary formats that can be
read and edited only by proprietary word processors, <FONT SIZE="-1">SGML</FONT> or
<FONT SIZE="-1">XML</FONT> for which the <FONT SIZE="-1">DTD</FONT> and/or processing tools are
not generally available, and the machine-generated <FONT SIZE="-1">HTML</FONT>,
PostScript or <FONT SIZE="-1">PDF</FONT> produced by some word processors for
output purposes only.
</P><P>
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
</P><P>
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
</P><P>
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
</P><P>
<LI>
VERBATIM COPYING
<P>
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
</P><P>
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
</P><P>
<LI>
COPYING IN QUANTITY
<P>
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
</P><P>
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
</P><P>
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
</P><P>
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
</P><P>
<LI>
MODIFICATIONS
<P>
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
</P><P>
<OL>
<LI>
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
<P>
<LI>
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
<P>
<LI>
State on the Title page the name of the publisher of the
Modified Version, as the publisher.
<P>
<LI>
Preserve all the copyright notices of the Document.
<P>
<LI>
Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
<P>
<LI>
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
<P>
<LI>
Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
<P>
<LI>
Include an unaltered copy of this License.
<P>
<LI>
Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
<P>
<LI>
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
<P>
<LI>
For any section Entitled "Acknowledgements" or "Dedications", Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
<P>
<LI>
Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
<P>
<LI>
Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
<P>
<LI>
Do not retitle any existing section to be Entitled "Endorsements" or
to conflict in title with any Invariant Section.
<P>
<LI>
Preserve any Warranty Disclaimers.
</OL>
<P>
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
</P><P>
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
</P><P>
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
</P><P>
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
</P><P>
<LI>
COMBINING DOCUMENTS
<P>
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
</P><P>
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
</P><P>
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all
sections Entitled "Endorsements."
</P><P>
<LI>
COLLECTIONS OF DOCUMENTS
<P>
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
</P><P>
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
</P><P>
<LI>
AGGREGATION WITH INDEPENDENT WORKS
<P>
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
</P><P>
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
</P><P>
<LI>
TRANSLATION
<P>
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
</P><P>
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
</P><P>
<LI>
TERMINATION
<P>
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
</P><P>
<LI>
FUTURE REVISIONS OF THIS LICENSE
<P>
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<A HREF="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</A>.
</P><P>
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
</OL>
<P>
<HR SIZE="6">
<A NAME="SEC763"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC762"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC762"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> H.1 ADDENDUM: How to use this License for your documents </H2>
<!--docid::SEC763::-->
<P>
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
</FONT></pre></td></tr></table></P><P>
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> with the Invariant Sections being <VAR>list their titles</VAR>, with
the Front-Cover Texts being <VAR>list</VAR>, and with the Back-Cover Texts
being <VAR>list</VAR>.
</FONT></pre></td></tr></table></P><P>
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
</P><P>
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
</P><P>
<A NAME="Index"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,418 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index">
<META NAME="keywords" CONTENT="Debugging with GDB: Index">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC764"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_37.html#SEC763"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_39.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> Index </H1>
<!--docid::SEC764::-->
<P>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_!"></A>!</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1570"><SAMP>`!'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_""></A>"</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX387">"No symbol "foo" in current context"</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_#"></A>#</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX66"><CODE># (a comment)</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX631"><CODE>#</CODE> in Modula-2</A></TD><TD valign=top><A HREF="gdb_13.html#SEC138">12.4.5.9 GDB and Modula-2</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_$"></A>$</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX449"><CODE>$</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX450"><CODE>$$</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX199"><CODE>$_</CODE> and <CODE>info breakpoints</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX355"><CODE>$_</CODE> and <CODE>info line</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX399"><CODE>$_</CODE>, <CODE>$__</CODE>, and value history</A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX459"><CODE>$_, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX460"><CODE>$__, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX461"><CODE>$_exitcode, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX186"><CODE>$bpnum, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX342"><CODE>$cdir, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX343"><CODE>$cwd, convenience variable</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX526"><CODE>$tpnum</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX558"><CODE>$trace_file</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX555"><CODE>$trace_frame</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX559"><CODE>$trace_func</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX557"><CODE>$trace_line</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX556"><CODE>$tracepoint</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_-"></A>-</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX37"><CODE>--annotate</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX38"><CODE>--args</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX26"><CODE>--batch</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX27"><CODE>--batch-silent</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX39"><CODE>--baud</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX33"><CODE>--cd</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX13"><CODE>--command</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX9"><CODE>--core</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX17"><CODE>--directory</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX36"><CODE>--epoch</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX15"><CODE>--eval-command</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX6"><CODE>--exec</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX34"><CODE>--fullname</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX45"><CODE>--interpreter</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX29"><CODE>--nowindows</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX21"><CODE>--nx</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX11"><CODE>--pid</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX23"><CODE>--quiet</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX19"><CODE>--readnow</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX28"><CODE>--return-child-result</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX8"><CODE>--se</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX24"><CODE>--silent</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX47"><CODE>--statistics</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX4"><CODE>--symbols</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX42"><CODE>--tty</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX44"><CODE>--tui</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX48"><CODE>--version</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX31"><CODE>--windows</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX751"><SAMP>`--with-sysroot'</SAMP></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX46"><CODE>--write</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX40"><CODE>-b</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC268"><CODE>-break-after</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC268">The <CODE>-break-after</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC272"><CODE>-break-condition</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC272">The <CODE>-break-condition</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC276"><CODE>-break-delete</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC276">The <CODE>-break-delete</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC280"><CODE>-break-disable</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC280">The <CODE>-break-disable</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC284"><CODE>-break-enable</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC284">The <CODE>-break-enable</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC288"><CODE>-break-info</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC288">The <CODE>-break-info</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC292"><CODE>-break-insert</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC292">The <CODE>-break-insert</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC297"><CODE>-break-list</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC297">The <CODE>-break-list</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC301"><CODE>-break-watch</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC301">The <CODE>-break-watch</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX10"><CODE>-c</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX18"><CODE>-d</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC450"><CODE>-data-disassemble</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC450">The <CODE>-data-disassemble</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC455"><CODE>-data-evaluate-expression</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC455">The <CODE>-data-evaluate-expression</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC459"><CODE>-data-list-changed-registers</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC459">The <CODE>-data-list-changed-registers</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC463"><CODE>-data-list-register-names</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC463">The <CODE>-data-list-register-names</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC467"><CODE>-data-list-register-values</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC467">The <CODE>-data-list-register-values</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC471"><CODE>-data-read-memory</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC471">The <CODE>-data-read-memory</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX7"><CODE>-e</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC642"><CODE>-enable-timings</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC642">The <CODE>-enable-timings</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC314"><CODE>-environment-cd</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC314">The <CODE>-environment-cd</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC318"><CODE>-environment-directory</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC318">The <CODE>-environment-directory</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC322"><CODE>-environment-path</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC322">The <CODE>-environment-path</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC326"><CODE>-environment-pwd</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC326">The <CODE>-environment-pwd</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX16"><CODE>-ex</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC613"><CODE>-exec-abort</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC613">The <CODE>-exec-abort</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC306"><CODE>-exec-arguments</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC306">The <CODE>-exec-arguments</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC348"><CODE>-exec-continue</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC348">The <CODE>-exec-continue</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC352"><CODE>-exec-finish</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC352">The <CODE>-exec-finish</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC356"><CODE>-exec-interrupt</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC356">The <CODE>-exec-interrupt</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC360"><CODE>-exec-next</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC360">The <CODE>-exec-next</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC364"><CODE>-exec-next-instruction</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC364">The <CODE>-exec-next-instruction</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC368"><CODE>-exec-return</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC368">The <CODE>-exec-return</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC372"><CODE>-exec-run</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC372">The <CODE>-exec-run</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC310"><CODE>-exec-show-arguments</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC310">The <CODE>-exec-show-arguments</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC376"><CODE>-exec-step</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC376">The <CODE>-exec-step</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC380"><CODE>-exec-step-instruction</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC380">The <CODE>-exec-step-instruction</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC384"><CODE>-exec-until</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC384">The <CODE>-exec-until</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX35"><CODE>-f</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC522"><CODE>-file-exec-and-symbols</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC522">The <CODE>-file-exec-and-symbols</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC526"><CODE>-file-exec-file</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC526">The <CODE>-file-exec-file</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC530"><CODE>-file-list-exec-sections</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC530">The <CODE>-file-list-exec-sections</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC534"><CODE>-file-list-exec-source-file</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC534">The <CODE>-file-list-exec-source-file</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC538"><CODE>-file-list-exec-source-files</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC538">The <CODE>-file-list-exec-source-files</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC542"><CODE>-file-list-shared-libraries</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC542">The <CODE>-file-list-shared-libraries</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC546"><CODE>-file-list-symbol-files</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC546">The <CODE>-file-list-symbol-files</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC550"><CODE>-file-symbol-file</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC550">The <CODE>-file-symbol-file</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC609"><CODE>-gdb-exit</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC609">The <CODE>-gdb-exit</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC617"><CODE>-gdb-set</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC617">The <CODE>-gdb-set</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC621"><CODE>-gdb-show</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC621">The <CODE>-gdb-show</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC625"><CODE>-gdb-version</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC625">The <CODE>-gdb-version</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC634"><CODE>-inferior-tty-set</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC634">The <CODE>-inferior-tty-set</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC638"><CODE>-inferior-tty-show</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC638">The <CODE>-inferior-tty-show</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC630"><CODE>-interpreter-exec</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC630">The <CODE>-interpreter-exec</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX41"><CODE>-l</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC629"><CODE>-list-features</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC629">The <CODE>-list-features</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX22"><CODE>-n</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX30"><CODE>-nw</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX12"><CODE>-p</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX25"><CODE>-q</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX20"><CODE>-r</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX5"><CODE>-s</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC393"><CODE>-stack-info-depth</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC393">The <CODE>-stack-info-depth</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC389"><CODE>-stack-info-frame</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC389">The <CODE>-stack-info-frame</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC397"><CODE>-stack-list-arguments</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC397">The <CODE>-stack-list-arguments</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC401"><CODE>-stack-list-frames</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC401">The <CODE>-stack-list-frames</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC405"><CODE>-stack-list-locals</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC405">The <CODE>-stack-list-locals</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC409"><CODE>-stack-select-frame</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC409">The <CODE>-stack-select-frame</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC477"><CODE>-symbol-info-address</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC477">The <CODE>-symbol-info-address</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC481"><CODE>-symbol-info-file</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC481">The <CODE>-symbol-info-file</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC485"><CODE>-symbol-info-function</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC485">The <CODE>-symbol-info-function</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC489"><CODE>-symbol-info-line</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC489">The <CODE>-symbol-info-line</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC493"><CODE>-symbol-info-symbol</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC493">The <CODE>-symbol-info-symbol</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC497"><CODE>-symbol-list-functions</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC497">The <CODE>-symbol-list-functions</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC501"><CODE>-symbol-list-lines</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC501">The <CODE>-symbol-list-lines</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC505"><CODE>-symbol-list-types</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC505">The <CODE>-symbol-list-types</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC509"><CODE>-symbol-list-variables</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC509">The <CODE>-symbol-list-variables</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC513"><CODE>-symbol-locate</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC513">The <CODE>-symbol-locate</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC517"><CODE>-symbol-type</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC517">The <CODE>-symbol-type</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX43"><CODE>-t</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC555"><CODE>-target-attach</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC555">The <CODE>-target-attach</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC559"><CODE>-target-compare-sections</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC559">The <CODE>-target-compare-sections</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC563"><CODE>-target-detach</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC563">The <CODE>-target-detach</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC567"><CODE>-target-disconnect</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC567">The <CODE>-target-disconnect</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC571"><CODE>-target-download</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC571">The <CODE>-target-download</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC575"><CODE>-target-exec-status</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC575">The <CODE>-target-exec-status</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC604"><CODE>-target-file-delete</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC604">The <CODE>-target-file-delete</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC600"><CODE>-target-file-get</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC600">The <CODE>-target-file-put</CODE> Command </A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC596"><CODE>-target-file-put</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC596">The <CODE>-target-file-put</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC579"><CODE>-target-list-available-targets</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC579">The <CODE>-target-list-available-targets</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC583"><CODE>-target-list-current-targets</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC583">The <CODE>-target-list-current-targets</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC587"><CODE>-target-list-parameters</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC587">The <CODE>-target-list-parameters</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC591"><CODE>-target-select</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC591">The <CODE>-target-select</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC331"><CODE>-thread-info</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC331">The <CODE>-thread-info</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC335"><CODE>-thread-list-all-threads</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC335">The <CODE>-thread-list-all-threads</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC339"><CODE>-thread-list-ids</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC339">The <CODE>-thread-list-ids</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC343"><CODE>-thread-select</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC343">The <CODE>-thread-select</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC440"><CODE>-var-assign</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC440">The <CODE>-var-assign</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC416"><CODE>-var-create</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC416">The <CODE>-var-create</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC419"><CODE>-var-delete</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC419">The <CODE>-var-delete</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC438"><CODE>-var-evaluate-expression</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC438">The <CODE>-var-evaluate-expression</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC432"><CODE>-var-info-expression</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC432">The <CODE>-var-info-expression</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC425"><CODE>-var-info-num-children</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC425">The <CODE>-var-info-num-children</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC434"><CODE>-var-info-path-expression</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC434">The <CODE>-var-info-path-expression</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC430"><CODE>-var-info-type</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC430">The <CODE>-var-info-type</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC427"><CODE>-var-list-children</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC427">The <CODE>-var-list-children</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC421"><CODE>-var-set-format</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC421">The <CODE>-var-set-format</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC446"><CODE>-var-set-frozen</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC446">The <CODE>-var-set-frozen</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC436"><CODE>-var-show-attributes</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC436">The <CODE>-var-show-attributes</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC423"><CODE>-var-show-format</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC423">The <CODE>-var-show-format</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC443"><CODE>-var-update</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC443">The <CODE>-var-update</CODE> Command</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX32"><CODE>-w</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX14"><CODE>-x</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,410 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: . -- B</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: . -- B">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: . -- B">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_39.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_40.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: . -- B</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_."></A>.</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC137"><CODE>.</CODE>, Modula-2 scope operator</A></TD><TD valign=top><A HREF="gdb_13.html#SEC137">12.4.5.8 The Scope Operators <CODE>::</CODE> and <CODE>.</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156"><TT>`.build-id'</TT> directory</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156"><TT>`.debug'</TT> subdirectories</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX51"><TT>`.gdbinit'</TT></A></TD><TD valign=top><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX757"><CODE>.gnu_debuglink</CODE> sections</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX759"><CODE>.note.gnu.build-id</CODE> sections</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX720"><TT>`.o'</TT> files, reading symbols from</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_/"></A>/</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC181">/proc</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_:"></A>:</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX381"><CODE>::</CODE>, context for variables/functions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_<"></A><</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC749">&#60;architecture&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC749">F.2.2 Architecture</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC750">&#60;feature&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC750">F.2.3 Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC752">&#60;reg&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC752">F.2.5 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#IDX1659">&#60;union&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC751">F.2.4 Types</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#IDX1658">&#60;vector&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC751">F.2.4 Types</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC748">&#60;xi:include&#62;</A></TD><TD valign=top><A HREF="gdb_35.html#SEC748">F.2.1 Inclusion</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_?"></A>?</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1571"><SAMP>`?'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_@"></A>@</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX390"><CODE>@, referencing memory as an array</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC62">8.3 Artificial Arrays</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_^"></A>^</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1278"><CODE>^connected</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1276"><CODE>^done</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1279"><CODE>^error</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1280"><CODE>^exit</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1277"><CODE>^running</CODE></A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp__"></A>_</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX620"><CODE>_NSPrintForDebugger</CODE>, and printing Objective-C objects</A></TD><TD valign=top><A HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_{"></A>{</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX375">{<VAR>type</VAR>}</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_A"></A>A</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1572"><SAMP>`A'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX63">abbreviation</A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1478"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1479"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1376"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1377"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1566">acknowledgment, for GDB remote</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX536"><CODE>actions</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX770">active targets</A></TD><TD valign=top><A HREF="gdb_17.html#SEC159">16.1 Active Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC139">Ada</A></TD><TD valign=top><A HREF="gdb_13.html#SEC139">12.4.6 Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX222">Ada exception catching</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC140">Ada mode, general</A></TD><TD valign=top><A HREF="gdb_13.html#SEC140">12.4.6.1 Introduction</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC142">Ada, deviations from</A></TD><TD valign=top><A HREF="gdb_13.html#SEC142">12.4.6.3 Additions to Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC141">Ada, omissions from</A></TD><TD valign=top><A HREF="gdb_13.html#SEC141">12.4.6.2 Omissions from Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC144">Ada, problems</A></TD><TD valign=top><A HREF="gdb_13.html#SEC144">12.4.6.5 Known Peculiarities of Ada Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_34.html#IDX1654"><CODE>adbg_find_memory_in_frame</CODE></A></TD><TD valign=top><A HREF="gdb_34.html#SEC743">E.5 Tracing on Symmetrix</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX803">add new commands for external monitor</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX724"><CODE>add-shared-symbol-files</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX714"><CODE>add-symbol-file</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX721"><CODE>add-symbol-file-from-memory</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX648">address of a symbol</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX814">address size for remote targets</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX981">ADP (Angel Debugger Protocol) logging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX261"><CODE>advance <VAR>location</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX635">aggregates (Ada)</A></TD><TD valign=top><A HREF="gdb_13.html#SEC141">12.4.6.2 Omissions from Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1165">AIX threads</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1587">alignment of remote memory accesses</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1086">Alpha stack</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1081">AMD 29K register stack</A></TD><TD valign=top><A HREF="gdb_19.html#SEC214">18.4.2 A29K</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#SEC647">annotations</A></TD><TD valign=top><A HREF="gdb_26.html#SEC647">25.1 What is an Annotation?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#SEC650">annotations for errors, warnings and interrupts</A></TD><TD valign=top><A HREF="gdb_26.html#SEC650">25.4 Errors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1311">annotations for invalidation messages</A></TD><TD valign=top><A HREF="gdb_26.html#SEC651">25.5 Invalidation Notices</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1292">annotations for prompts</A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#SEC652">annotations for running programs</A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#SEC653">annotations for source display</A></TD><TD valign=top><A HREF="gdb_26.html#SEC653">25.7 Displaying Source</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX489"><CODE>append</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC79">append data to a file</A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX141">apply command to several threads</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX75"><CODE>apropos</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1163">architecture debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1185">argument count in user-defined commands</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX97">arguments (to your program)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC21">4.3 Your Program's Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC166">arguments, to <CODE>gdbserver</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC166">17.3.1 Running <CODE>gdbserver</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1184">arguments, to user-defined commands</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX979">ARM 32-bit mode</A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC195">ARM RDI</A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX633">array aggregates (Ada)</A></TD><TD valign=top><A HREF="gdb_13.html#SEC141">12.4.6.2 Omissions from Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX389">arrays</A></TD><TD valign=top><A HREF="gdb_9.html#SEC62">8.3 Artificial Arrays</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX373">arrays in expressions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX388">artificial array</A></TD><TD valign=top><A HREF="gdb_9.html#SEC62">8.3 Artificial Arrays</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX499">ASCII character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX359">assembly instructions</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX725"><CODE>assf</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX681">assignment</A></TD><TD valign=top><A HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1265">async output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX365">AT&#38;T disassembly flavor</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#SEC25"><CODE>attach</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC25">4.7 Debugging an Already-running Process</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX811">attach to a program by name</A></TD><TD valign=top><A HREF="gdb_18.html#SEC167">17.3.1.1 Attaching to a Running Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC65">automatic display</A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX203">automatic hardware breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC100">automatic overlay debugging</A></TD><TD valign=top><A HREF="gdb_12.html#SEC100">11.3 Automatic Overlay Debugging</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX145">automatic thread selection</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX478">auxiliary vector</A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC209">AVR</A></TD><TD valign=top><A HREF="gdb_19.html#SEC209">18.3.11 Atmel AVR</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX213"><CODE>awatch</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_B"></A>B</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX185"><CODE>b (<CODE>break</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1574"><SAMP>`B'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1573"><SAMP>`b'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX299"><CODE>backtrace</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX306">backtrace beyond <CODE>main</CODE> function</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX311">backtrace limit</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1366"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1367"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1404"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1405"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1428"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1429"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1436"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1437"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1370"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1371"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX816">baud rate for remote targets</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1540">bcache statistics</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1382"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1383"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1360"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1361"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1337"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1338"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX815">bits in remote address</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX163">bookmark</A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX184"><CODE>break</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX273"><CODE>break <small>...</small> thread <VAR>threadno</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX605">break in overloaded functions</A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX224">break on fork/exec</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX225">break on load/unload of shared library</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX818">BREAK signal instead of Ctrl-C</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX615"><CODE>break, and Objective-C</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC42">breakpoint address adjusted</A></TD><TD valign=top><A HREF="gdb_6.html#SEC42">5.1.10 "Breakpoint address adjusted..."</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1323"><CODE>breakpoint annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX240">breakpoint commands</A></TD><TD valign=top><A HREF="gdb_6.html#SEC39">5.1.7 Breakpoint Command Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1285">breakpoint commands for GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC267">24.7 GDB/MI Breakpoint Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC38">breakpoint conditions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX180">breakpoint numbers</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX179">breakpoint on events</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX176">breakpoint on memory address</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX177">breakpoint on variable modification</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX182">breakpoint ranges</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX852"><CODE>breakpoint</CODE> subroutine, remote</A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX637">breakpointing Ada elaboration code</A></TD><TD valign=top><A HREF="gdb_13.html#SEC143">12.4.6.4 Stopping at the Very Beginning</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX172">breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX271">breakpoints and threads</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX194">breakpoints in functions matching a regexp</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX566">breakpoints in overlays</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1313"><CODE>breakpoints-invalid annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC651">25.5 Invalidation Notices</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX300"><CODE>bt (<CODE>backtrace</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#SEC655">bug criteria</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#SEC656">bug reports</A></TD><TD valign=top><A HREF="gdb_27.html#SEC656">26.2 How to Report Bugs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#SEC654">bugs in GDB</A></TD><TD valign=top><A HREF="gdb_27.html#SEC654">26. Reporting Bugs in GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX760">build ID sections</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156">build ID, and separate debugging files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_31.html#SEC686">building GDB, requirements for</A></TD><TD valign=top><A HREF="gdb_31.html#SEC686">B.1 Requirements for Building GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX780">built-in simulator target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,502 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Commands</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Commands">
<META NAME="keywords" CONTENT="Debugging with GDB: Commands">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC14"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC13"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC15"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 3. GDB Commands </H1>
<!--docid::SEC14::-->
<P>
You can abbreviate a GDB command to the first few letters of the command
name, if that abbreviation is unambiguous; and you can repeat certain
GDB commands by typing just <KBD>RET</KBD>. You can also use the <KBD>TAB</KBD>
key to get GDB to fill out the rest of a word in a command (or to
show you the alternatives available, if there is more than one possibility).
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to give commands to GDB</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_4.html#SEC16">3.2 Command Completion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command completion</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to ask GDB for help</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Command Syntax"></A>
<HR SIZE="6">
<A NAME="SEC15"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC16"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.1 Command Syntax </H2>
<!--docid::SEC15::-->
<P>
A GDB command is a single line of input. There is no limit on
how long it can be. It starts with a command name, which is followed by
arguments whose meaning depends on the command name. For example, the
command <CODE>step</CODE> accepts an argument which is the number of times to
step, as in <SAMP>`step 5'</SAMP>. You can also use the <CODE>step</CODE> command
with no arguments. Some commands do not allow any arguments.
</P><P>
<A NAME="IDX63"></A>
GDB command names may always be truncated if that abbreviation is
unambiguous. Other possible command abbreviations are listed in the
documentation for individual commands. In some cases, even ambiguous
abbreviations are allowed; for example, <CODE>s</CODE> is specially defined as
equivalent to <CODE>step</CODE> even though there are other commands whose
names start with <CODE>s</CODE>. You can test abbreviations by using them as
arguments to the <CODE>help</CODE> command.
</P><P>
<A NAME="IDX64"></A>
<A NAME="IDX65"></A>
A blank line as input to GDB (typing just <KBD>RET</KBD>) means to
repeat the previous command. Certain commands (for example, <CODE>run</CODE>)
will not repeat this way; these are commands whose unintentional
repetition might cause trouble and which you are unlikely to want to
repeat. User-defined commands can disable this feature; see
<A HREF="gdb_21.html#SEC230">dont-repeat</A>.
</P><P>
The <CODE>list</CODE> and <CODE>x</CODE> commands, when you repeat them with
<KBD>RET</KBD>, construct new arguments rather than repeating
exactly as typed. This permits easy scanning of source or memory.
</P><P>
GDB can also use <KBD>RET</KBD> in another way: to partition lengthy
output, in a way similar to the common utility <CODE>more</CODE>
(see section <A HREF="gdb_20.html#SEC224">Screen Size</A>). Since it is easy to press one
<KBD>RET</KBD> too many in this situation, GDB disables command
repetition after any command that generates this sort of display.
</P><P>
<A NAME="IDX66"></A>
<A NAME="IDX67"></A>
Any text from a <KBD>#</KBD> to the end of the line is a comment; it does
nothing. This is useful mainly in command files (see section <A HREF="gdb_21.html#SEC232">Command Files</A>).
</P><P>
<A NAME="IDX68"></A>
<A NAME="IDX69"></A>
The <KBD>Ctrl-o</KBD> binding is useful for repeating a complex sequence of
commands. This command accepts the current line, like <KBD>RET</KBD>, and
then fetches the next line relative to the current line from the history
for editing.
</P><P>
<A NAME="Completion"></A>
<HR SIZE="6">
<A NAME="SEC16"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC15"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC17"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC17"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.2 Command Completion </H2>
<!--docid::SEC16::-->
<P>
<A NAME="IDX70"></A>
<A NAME="IDX71"></A>
GDB can fill in the rest of a word in a command for you, if there is
only one possibility; it can also show you what the valid possibilities
are for the next word in a command, at any time. This works for GDB
commands, GDB subcommands, and the names of symbols in your program.
</P><P>
Press the <KBD>TAB</KBD> key whenever you want GDB to fill out the rest
of a word. If there is only one possibility, GDB fills in the
word, and waits for you to finish the command (or press <KBD>RET</KBD> to
enter it). For example, if you type
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info bre <KBD>TAB</KBD>
</FONT></pre></td></tr></table></P><P>
GDB fills in the rest of the word <SAMP>`breakpoints'</SAMP>, since that is
the only <CODE>info</CODE> subcommand beginning with <SAMP>`bre'</SAMP>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info breakpoints
</FONT></pre></td></tr></table></P><P>
You can either press <KBD>RET</KBD> at this point, to run the <CODE>info
breakpoints</CODE> command, or backspace and enter something else, if
<SAMP>`breakpoints'</SAMP> does not look like the command you expected. (If you
were sure you wanted <CODE>info breakpoints</CODE> in the first place, you
might as well just type <KBD>RET</KBD> immediately after <SAMP>`info bre'</SAMP>,
to exploit command abbreviations rather than command completion).
</P><P>
If there is more than one possibility for the next word when you press
<KBD>TAB</KBD>, GDB sounds a bell. You can either supply more
characters and try again, or just press <KBD>TAB</KBD> a second time;
GDB displays all the possible completions for that word. For
example, you might want to set a breakpoint on a subroutine whose name
begins with <SAMP>`make_'</SAMP>, but when you type <KBD>b make_<KBD>TAB</KBD></KBD> GDB
just sounds the bell. Typing <KBD>TAB</KBD> again displays all the
function names in your program that begin with those characters, for
example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) b make_ <KBD>TAB</KBD>
GDB sounds bell; press <KBD>TAB</KBD> again, to see:
make_a_section_from_file make_environ
make_abs_section make_function_type
make_blockvector make_pointer_type
make_cleanup make_reference_type
make_command make_symbol_completion_list
(gdb) b make_
</FONT></pre></td></tr></table></P><P>
After displaying the available possibilities, GDB copies your
partial input (<SAMP>`b make_'</SAMP> in the example) so you can finish the
command.
</P><P>
If you just want to see the list of alternatives in the first place, you
can press <KBD>M-?</KBD> rather than pressing <KBD>TAB</KBD> twice. <KBD>M-?</KBD>
means <KBD><KBD>META</KBD> ?</KBD>. You can type this either by holding down a
key designated as the <KBD>META</KBD> shift on your keyboard (if there is
one) while typing <KBD>?</KBD>, or as <KBD>ESC</KBD> followed by <KBD>?</KBD>.
</P><P>
<A NAME="IDX72"></A>
<A NAME="IDX73"></A>
Sometimes the string you need, while logically a "word", may contain
parentheses or other characters that GDB normally excludes from
its notion of a word. To permit word completion to work in this
situation, you may enclose words in <CODE>'</CODE> (single quote marks) in
GDB commands.
</P><P>
The most likely situation where you might need this is in typing the
name of a C<TT>++</TT> function. This is because C<TT>++</TT> allows function
overloading (multiple definitions of the same function, distinguished
by argument type). For example, when you want to set a breakpoint you
may need to distinguish whether you mean the version of <CODE>name</CODE>
that takes an <CODE>int</CODE> parameter, <CODE>name(int)</CODE>, or the version
that takes a <CODE>float</CODE> parameter, <CODE>name(float)</CODE>. To use the
word-completion facilities in this situation, type a single quote
<CODE>'</CODE> at the beginning of the function name. This alerts
GDB that it may need to consider more information than usual
when you press <KBD>TAB</KBD> or <KBD>M-?</KBD> to request word completion:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) b 'bubble( <KBD>M-?</KBD>
bubble(double,double) bubble(int,int)
(gdb) b 'bubble(
</FONT></pre></td></tr></table></P><P>
In some cases, GDB can tell that completing a name requires using
quotes. When this happens, GDB inserts the quote for you (while
completing as much as it can) if you do not type the quote in the first
place:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) b bub <KBD>TAB</KBD>
GDB alters your input line to the following, and rings a bell:
(gdb) b 'bubble(
</FONT></pre></td></tr></table></P><P>
In general, GDB can tell that a quote is needed (and inserts it) if
you have not yet started typing the argument list when you ask for
completion on an overloaded symbol.
</P><P>
For more information about overloaded functions, see <A HREF="gdb_13.html#SEC115">C<TT>++</TT> Expressions</A>. You can use the command <CODE>set
overload-resolution off</CODE> to disable overload resolution;
see <A HREF="gdb_13.html#SEC119">GDB Features for C<TT>++</TT></A>.
</P><P>
<A NAME="Help"></A>
<HR SIZE="6">
<A NAME="SEC17"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC16"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.3 Getting Help </H2>
<!--docid::SEC17::-->
<P>
You can always ask GDB itself for information on its commands,
using the command <CODE>help</CODE>.
</P><P>
<DL COMPACT>
<A NAME="IDX74"></A>
<DT><CODE>help</CODE>
<DD><DT><CODE>h</CODE>
<DD>You can use <CODE>help</CODE> (abbreviated <CODE>h</CODE>) with no arguments to
display a short list of named classes of commands:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) help
List of classes of commands:
aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without
stopping the program
user-defined -- User-defined commands
Type "help" followed by a class name for a list of
commands in that class.
Type "help" followed by command name for full
documentation.
Command name abbreviations are allowed if unambiguous.
(gdb)
</FONT></pre></td></tr></table></P><P>
<DT><CODE>help <VAR>class</VAR></CODE>
<DD>Using one of the general help classes as an argument, you can get a
list of the individual commands in that class. For example, here is the
help display for the class <CODE>status</CODE>:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) help status
Status inquiries.
List of commands:
info -- Generic command for showing things
about the program being debugged
show -- Generic command for showing things
about the debugger
Type "help" followed by command name for full
documentation.
Command name abbreviations are allowed if unambiguous.
(gdb)
</FONT></pre></td></tr></table></P><P>
<DT><CODE>help <VAR>command</VAR></CODE>
<DD>With a command name as <CODE>help</CODE> argument, GDB displays a
short paragraph on how to use that command.
<P>
<A NAME="IDX75"></A>
<DT><CODE>apropos <VAR>args</VAR></CODE>
<DD>The <CODE>apropos</CODE> command searches through all of the GDB
commands, and their documentation, for the regular expression specified in
<VAR>args</VAR>. It prints out all matches found. For example:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>apropos reload
</FONT></pre></td></tr></table></P><P>
results in:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>set symbol-reloading -- Set dynamic symbol table reloading
multiple times in one run
show symbol-reloading -- Show dynamic symbol table reloading
multiple times in one run
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX76"></A>
<DT><CODE>complete <VAR>args</VAR></CODE>
<DD>The <CODE>complete <VAR>args</VAR></CODE> command lists all the possible completions
for the beginning of a command. Use <VAR>args</VAR> to specify the beginning of the
command you want completed. For example:
<P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>complete i
</FONT></pre></td></tr></table></P><P>
results in:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>if
ignore
info
inspect
</FONT></pre></td></tr></table></P><P>
This is intended for use by GNU Emacs.
</DL>
<P>
In addition to <CODE>help</CODE>, you can use the GDB commands <CODE>info</CODE>
and <CODE>show</CODE> to inquire about the state of your program, or the state
of GDB itself. Each command supports many topics of inquiry; this
manual introduces each of them in the appropriate context. The listings
under <CODE>info</CODE> and under <CODE>show</CODE> in the Index point to
all the sub-commands. See section <A HREF="gdb_38.html#SEC764">Index</A>.
</P><P>
<DL COMPACT>
<A NAME="IDX77"></A>
<A NAME="IDX78"></A>
<DT><CODE>info</CODE>
<DD>This command (abbreviated <CODE>i</CODE>) is for describing the state of your
program. For example, you can show the arguments passed to a function
with <CODE>info args</CODE>, list the registers currently in use with <CODE>info
registers</CODE>, or list the breakpoints you have set with <CODE>info breakpoints</CODE>.
You can get a complete list of the <CODE>info</CODE> sub-commands with
<CODE>help info</CODE>.
<P>
<A NAME="IDX79"></A>
<DT><CODE>set</CODE>
<DD>You can assign the result of an expression to an environment variable with
<CODE>set</CODE>. For example, you can set the GDB prompt to a $-sign with
<CODE>set prompt $</CODE>.
<P>
<A NAME="IDX80"></A>
<DT><CODE>show</CODE>
<DD>In contrast to <CODE>info</CODE>, <CODE>show</CODE> is for describing the state of
GDB itself.
You can change most of the things you can <CODE>show</CODE>, by using the
related command <CODE>set</CODE>; for example, you can control what number
system is used for displays with <CODE>set radix</CODE>, or simply inquire
which is currently in use with <CODE>show radix</CODE>.
<P>
<A NAME="IDX81"></A>
To display all the settable parameters and their current
values, you can use <CODE>show</CODE> with no arguments; you may also use
<CODE>info set</CODE>. Both commands produce the same display.
</DL>
<P>
Here are three miscellaneous <CODE>show</CODE> subcommands, all of which are
exceptional in lacking corresponding <CODE>set</CODE> commands:
</P><P>
<DL COMPACT>
<A NAME="IDX82"></A>
<A NAME="IDX83"></A>
<DT><CODE>show version</CODE>
<DD>Show what version of GDB is running. You should include this
information in GDB bug-reports. If multiple versions of
GDB are in use at your site, you may need to determine which
version of GDB you are running; as GDB evolves, new
commands are introduced, and old ones may wither away. Also, many
system vendors ship variant versions of GDB, and there are
variant versions of GDB in GNU/Linux distributions as well.
The version number is the same as the one announced when you start
GDB.
<P>
<A NAME="IDX84"></A>
<A NAME="IDX85"></A>
<A NAME="IDX86"></A>
<DT><CODE>show copying</CODE>
<DD><DT><CODE>info copying</CODE>
<DD>Display information about permission for copying GDB.
<P>
<A NAME="IDX87"></A>
<A NAME="IDX88"></A>
<DT><CODE>show warranty</CODE>
<DD><DT><CODE>info warranty</CODE>
<DD>Display the GNU "NO WARRANTY" statement, or a warranty,
if your version of GDB comes with one.
<P>
</DL>
<P>
<A NAME="Running"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_5.html#SEC18"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,382 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: C</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: C">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: C">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_40.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_39.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_41.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: C</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_C"></A>C</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX248"><CODE>c (<CODE>continue</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1235"><CODE>c (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX583">C and C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX603">C and C<TT>++</TT> checks</A></TD><TD valign=top><A HREF="gdb_13.html#SEC117">12.4.1.5 C and C<TT>++</TT> Type and Range Checks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX589">C and C<TT>++</TT> constants</A></TD><TD valign=top><A HREF="gdb_13.html#SEC114">12.4.1.2 C and C<TT>++</TT> Constants</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX602">C and C<TT>++</TT> defaults</A></TD><TD valign=top><A HREF="gdb_13.html#SEC116">12.4.1.4 C and C<TT>++</TT> Defaults</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX588">C and C<TT>++</TT> operators</A></TD><TD valign=top><A HREF="gdb_13.html#SEC113">12.4.1.1 C and C<TT>++</TT> Operators</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1576"><SAMP>`C'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1575"><SAMP>`c'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX585">C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX592">C<TT>++</TT> compilers</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX607">C<TT>++</TT> exception handling</A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1173">C<TT>++</TT> overload debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX382">C<TT>++</TT> scope resolution</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX436">C<TT>++</TT> symbol decoding style</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX609">C<TT>++</TT> symbol display</A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1234"><CODE>C-L</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1224"><CODE>C-x 1</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1225"><CODE>C-x 2</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1223"><CODE>C-x A</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1222"><CODE>C-x a</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1221"><CODE>C-x C-a</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1226"><CODE>C-x o</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1227"><CODE>C-x s</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC82">caching data of remote targets</A></TD><TD valign=top><A HREF="gdb_9.html#SEC82">8.18 Caching Data of Remote Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX691"><CODE>call</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX694">call dummy stack unwinding</A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX598">call overloaded functions</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX283">call stack</A></TD><TD valign=top><A HREF="gdb_7.html#SEC46">6. Examining the Stack</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX298">call stack traces</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1474"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1475"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX689">calling functions</A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX59">calling make</A></TD><TD valign=top><A HREF="gdb_3.html#SEC12">2.3 Shell Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1422"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1423"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX644">case sensitivity in symbol names</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX643">case-insensitive symbol names</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX374">casts, in expressions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX378">casts, to view memory</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX220"><CODE>catch</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX223">catch Ada exceptions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX324">catch exceptions, list active handlers</A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX178">catchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC35">catchpoints, setting</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX107"><CODE>cd</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC23">4.5 Your Program's Working Directory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX340"><CODE>cdir</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC218">Cell Broadband Engine</A></TD><TD valign=top><A HREF="gdb_19.html#SEC218">18.4.6 Cell Broadband Engine SPU architecture</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX108">change working directory</A></TD><TD valign=top><A HREF="gdb_5.html#SEC23">4.5 Your Program's Working Directory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC81">character sets</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1494"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1495"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1496"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1497"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC81">charset</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX166"><CODE>checkpoint</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX170">checkpoints and process id</A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX580">checks, range</A></TD><TD valign=top><A HREF="gdb_13.html#SEC109">12.3.1 An Overview of Type Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX576">checks, type</A></TD><TD valign=top><A HREF="gdb_13.html#SEC108">12.3 Type and Range Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1564">checksum, for GDB remote</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX789">choosing target byte order</A></TD><TD valign=top><A HREF="gdb_17.html#SEC161">16.3 Choosing Target Byte Order</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX229"><CODE>clear</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX614"><CODE>clear, and Objective-C</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1372"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1373"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX227">clearing breakpoints, watchpoints, catchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC713">close, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC713">close</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX651">closest symbol and offset for an address</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX354">code address and its source line</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX539"><CODE>collect (tracepoints)</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX546">collected data discarded</A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC137">colon, doubled as scope operator</A></TD><TD valign=top><A HREF="gdb_13.html#SEC137">12.4.5.8 The Scope Operators <CODE>::</CODE> and <CODE>.</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX380">colon-colon, context for variables/functions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC137"><CODE>colon-colon, in Modula-2</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC137">12.4.5.8 The Scope Operators <CODE>::</CODE> and <CODE>.</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#SEC660">command editing</A></TD><TD valign=top><A HREF="gdb_28.html#SEC660">27.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1201">command files</A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC223">command history</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#SEC231">command hooks</A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#SEC234">command interpreters</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC222">command line editing</A></TD><TD valign=top><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1158">command scripts, debugging</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1156">command tracing</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX241"><CODE>commands</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC39">5.1.7 Breakpoint Command Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1297"><CODE>commands annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX604">commands for C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX67">comment</A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1339"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX625"><CODE>COMMON</CODE> blocks, Fortran</A></TD><TD valign=top><A HREF="gdb_13.html#SEC127">12.4.3.3 Special Fortran Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX775">common targets</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX402"><CODE>compare-sections</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1271">compatibility, GDB/MI and CLI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC248">24.2 GDB/MI Compatibility with CLI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX344">compilation directory</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1060">compiling, on Sparclet</A></TD><TD valign=top><A HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX76"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1460"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1461"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX70">completion</A></TD><TD valign=top><A HREF="gdb_4.html#SEC16">3.2 Command Completion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX73">completion of quoted strings</A></TD><TD valign=top><A HREF="gdb_4.html#SEC16">3.2 Command Completion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1340"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX237"><CODE>condition</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC38">conditional breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_31.html#SEC689">configuring GDB</A></TD><TD valign=top><A HREF="gdb_31.html#SEC689">B.2 Invoking the GDB <TT>`configure'</TT> Script</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1153">confirmation</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC710">console i/o as part of file-i/o</A></TD><TD valign=top><A HREF="gdb_33.html#SEC710">D.10.6 Console I/O</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1214">console interpreter</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1267">console output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC729">constants, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC729">D.10.9 Constants</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX247"><CODE>continue</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX245">continuing</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX279">continuing threads</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX856">control C, and remote debugging</A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX115">controlling terminal</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX453">convenience variables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC96">convenience variables for tracepoints</A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX458">convenience variables, initializing</A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1341"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1448"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1449"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1450"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1451"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1446"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1447"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX703">core dump file</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX778">core dump file target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX713"><CODE>core-file</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1328">crash of debugger</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1626">CRC of memory block, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC210">CRIS</A></TD><TD valign=top><A HREF="gdb_19.html#SEC210">18.3.12 CRIS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1074">CRIS mode</A></TD><TD valign=top><A HREF="gdb_19.html#SEC210">18.3.12 CRIS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1072">CRIS version</A></TD><TD valign=top><A HREF="gdb_19.html#SEC210">18.3.12 CRIS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC709">ctrl-c message, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC709">D.10.5 The <SAMP>`Ctrl-C'</SAMP> Message</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX69"><CODE>Ctrl-o (operate-and-get-next)</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX345">current directory</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX294">current stack frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX126">current thread</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1624">current thread, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX341"><CODE>cwd</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX921">Cygwin DLL, debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC183">Cygwin-specific commands</A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,353 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: D</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: D">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: D">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_41.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_40.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_42.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: D</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_D"></A>D</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX232"><CODE>d (<CODE>delete</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1236"><CODE>d (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1577"><SAMP>`d'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1578"><SAMP>`D'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX174">data breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1288">data manipulation, in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC449">24.13 GDB/MI Data Manipulation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX957">dead names, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX593">debug formats and C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX758">debug link sections</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1176">debug remote protocol</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1005"><CODE>debug_chaos</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1327">debugger crash</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX591">debugging C<TT>++</TT> programs</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156">debugging information directory, global</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156">debugging information in separate files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX153">debugging multiple processes</A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX132">debugging multithreaded programs (on HP-UX)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX90">debugging optimized code</A></TD><TD valign=top><A HREF="gdb_5.html#SEC19">4.1 Compiling for Debugging</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX828">debugging stub, example</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX763">debugging target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX920">debugging the Cygwin DLL</A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC120">decimal floating point format</A></TD><TD valign=top><A HREF="gdb_13.html#SEC120">12.4.1.8 Decimal Floating Point format</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX750">default system root</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1187"><CODE>define</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX518">defining macros interactively</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX515">definition, showing a macro's</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX231"><CODE>delete</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX230">delete breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX169"><CODE>delete checkpoint <VAR>checkpoint-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX404"><CODE>delete display</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX160"><CODE>delete fork <VAR>fork-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX482"><CODE>delete mem</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX530"><CODE>delete tracepoint</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1402"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1403"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1468"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1469"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1442"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1443"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX228">deleting breakpoints, watchpoints, catchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#SEC150">deliver a signal to a program</A></TD><TD valign=top><A HREF="gdb_15.html#SEC150">14.3 Giving your Program a Signal</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX435">demangling C<TT>++</TT> names</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1522">deprecated commands</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX439">derived type of an object, printing</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX892">descriptor tables display</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX120"><CODE>detach</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC25">4.7 Debugging an Already-running Process</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX799"><CODE>detach (remote)</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX159"><CODE>detach fork <VAR>fork-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX950">detach from task, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX963">detach from thread, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1456"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC674">27.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1457"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC674">27.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX339"><CODE>dir</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX895">direct memory access (DMA) on MS-DOS</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX337">directories for source files</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX338"><CODE>directory</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX348">directory, compilation</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX347">directory, current</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX235"><CODE>dis (<CODE>disable</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC37">5.1.5 Disabling Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX234"><CODE>disable</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC37">5.1.5 Disabling Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX406"><CODE>disable display</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX483"><CODE>disable mem</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX532"><CODE>disable tracepoint</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC87">10.1.2 Enable and Disable Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1342"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX358"><CODE>disassemble</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX800"><CODE>disconnect</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX403"><CODE>display</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1124">display command history</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX440">display derived types</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX409">display disabled out of scope</A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX86">display GDB copyright</A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC65">display of expressions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX786">display remote monitor communications</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1178">display remote packets</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC182">DJGPP debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX918"><CODE>dll-symbols</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC184">DLLs with no debugging symbols</A></TD><TD valign=top><A HREF="gdb_19.html#SEC184">18.1.5.1 Support for DLLs without Debugging Symbols</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX316"><CODE>do (<CODE>down</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX427">do not print frame argument values</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1480"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1481"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1188"><CODE>document</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_30.html#IDX1513">documentation</A></TD><TD valign=top><A HREF="gdb_30.html#SEC684">A. Formatting Documentation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1191">don't repeat command</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1190"><CODE>dont-repeat</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX897">DOS serial data link, remote debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX915">DOS serial port status</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1231"><CODE>Down</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX315"><CODE>down</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX317"><CODE>down-silently</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1420"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1421"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX998">download server address (M32R)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1062">download to Sparclet</A></TD><TD valign=top><A HREF="gdb_19.html#SEC205">18.3.8.3 Sparclet Download</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX971">download to VxWorks</A></TD><TD valign=top><A HREF="gdb_19.html#SEC192">18.2.1.2 VxWorks Download</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX883">DPMI</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX488"><CODE>dump</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC94">dump all data collected at tracepoint</A></TD><TD valign=top><A HREF="gdb_11.html#SEC94">10.2.2 <CODE>tdump</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC80">dump core from inferior</A></TD><TD valign=top><A HREF="gdb_9.html#SEC80">8.16 How to Produce a Core File from Your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC79">dump data to a file</A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1500"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1501"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1504"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1505"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1502"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1503"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC79">dump/restore files</A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1547">DWARF 2 compilation units cache</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1073">DWARF-2 CFI and CRIS</A></TD><TD valign=top><A HREF="gdb_19.html#SEC210">18.3.12 CRIS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX715">dynamic linking</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,375 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: E -- F</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: E -- F">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: E -- F">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_42.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_41.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_43.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: E -- F</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_E"></A>E</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX332"><CODE>e (<CODE>edit</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC54">7.3 Editing Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX502">EBCDIC character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1211"><CODE>echo</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC233">20.4 Commands for Controlled Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX331"><CODE>edit</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC54">7.3 Editing Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1107">editing</A></TD><TD valign=top><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#SEC660">editing command lines</A></TD><TD valign=top><A HREF="gdb_28.html#SEC660">27.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#SEC54">editing source files</A></TD><TD valign=top><A HREF="gdb_8.html#SEC54">7.3 Editing Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1343"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX432">eight-bit characters in strings</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX96">elaboration phase</A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1206"><CODE>else</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_24.html#IDX1256">Emacs</A></TD><TD valign=top><A HREF="gdb_24.html#SEC241">23. Using GDB under GNU Emacs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1506"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1507"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1569">empty response, for unsupported packets</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX236"><CODE>enable</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC37">5.1.5 Disabling Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX407"><CODE>enable display</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX484"><CODE>enable mem</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX533"><CODE>enable tracepoint</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC87">10.1.2 Enable and Disable Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1344"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX233">enable/disable a breakpoint</A></TD><TD valign=top><A HREF="gdb_6.html#SEC37">5.1.5 Disabling Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX242"><CODE>end (breakpoint commands)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC39">5.1.7 Breakpoint Command Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1210"><CODE>end (if/else/while commands)</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1189"><CODE>end (user-defined commands)</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1472"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1473"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1384"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1385"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1362"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1363"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC225">entering numbers</A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX100">environment (of your program)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC732">errno values, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC732">Errno Values</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1309"><CODE>error annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC650">25.4 Errors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1329">error on valid input</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1310"><CODE>error-begin annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC650">25.4 Errors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1166">event debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_29.html#SEC681">event designators</A></TD><TD valign=top><A HREF="gdb_29.html#SEC681">28.1.1 Event Designators</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC35">event handling</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC181">examine process image</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX368">examining data</A></TD><TD valign=top><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX397">examining memory</A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC35">exception handlers</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX325">exception handlers, how to list</A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX858"><CODE>exceptionHandler</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1492"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1493"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX708"><CODE>exec-file</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX704">executable file</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX777">executable file target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX826">executable file, for remote target</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1204">execute commands from a file</A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1639">execute remote command, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1316"><CODE>exited annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#SEC11">exiting GDB</A></TD><TD valign=top><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX512">expand macro once</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1345"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX510">expanding preprocessor macros</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1167">expression debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX372">expressions</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX632">expressions in Ada</A></TD><TD valign=top><A HREF="gdb_13.html#SEC139">12.4.6 Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX584">expressions in C or C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX590">expressions in C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX629">expressions in Modula-2</A></TD><TD valign=top><A HREF="gdb_13.html#SEC129">12.4.5 Modula-2</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX802">extend GDB for remote targets</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_F"></A>F</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX313"><CODE>f (<CODE>frame</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1237"><CODE>f (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1579"><SAMP>`F'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC708"><CODE>F</CODE> reply packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC708">D.10.4 The <CODE>F</CODE> Reply Packet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC707"><CODE>F</CODE> request packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC707">D.10.3 The <CODE>F</CODE> Request Packet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1326">fatal signal</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX266">fatal signals</A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_37.html#IDX1660">FDL, GNU Free Documentation License</A></TD><TD valign=top><A HREF="gdb_37.html#SEC762">H. GNU Free Documentation License</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1642">features of the remote protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX249"><CODE>fg (resume foreground execution)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX705"><CODE>file</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC164">file transfer</A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC701">file transfer, remote protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC701">D.7 Host I/O Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC735">file-i/o examples</A></TD><TD valign=top><A HREF="gdb_33.html#SEC735">D.10.10 File-I/O Examples</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC705">file-i/o overview</A></TD><TD valign=top><A HREF="gdb_33.html#SEC705">D.10.1 File-I/O Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC704">File-I/O remote protocol extension</A></TD><TD valign=top><A HREF="gdb_33.html#SEC704">D.10 File-I/O Remote Protocol Extension</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC708">file-i/o reply packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC708">D.10.4 The <CODE>F</CODE> Reply Packet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC707">file-i/o request packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC707">D.10.3 The <CODE>F</CODE> Request Packet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX992">find downloadable SREC files (M32R)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX554">find trace snapshot</A></TD><TD valign=top><A HREF="gdb_11.html#SEC93">10.2.1 <CODE>tfind <VAR>n</VAR></CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX257"><CODE>finish</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1152">flinching</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1140">float promotion</A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC70">floating point</A></TD><TD valign=top><A HREF="gdb_9.html#SEC70">8.11 Floating Point Hardware</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX465">floating point registers</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1022">floating point, MIPS remote</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX859"><CODE>flush_i_cache</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1536"><CODE>flushregs</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1247"><CODE>focus</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX125">focus of debugging</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX762">foo</A></TD><TD valign=top><A HREF="gdb_16.html#SEC157">15.3 Errors Reading Symbol Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX157"><CODE>fork <VAR>fork-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX148">fork, debugging programs which call</A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX410">format options</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX391">formatted output</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_1.html#IDX3">Fortran</A></TD><TD valign=top><A HREF="gdb_1.html#SEC1">Summary of GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX623">Fortran Defaults</A></TD><TD valign=top><A HREF="gdb_13.html#SEC126">12.4.3.2 Fortran Defaults</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX622">Fortran operators and expressions</A></TD><TD valign=top><A HREF="gdb_13.html#SEC125">12.4.3.1 Fortran Operators and Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC124">Fortran-specific support in GDB</A></TD><TD valign=top><A HREF="gdb_13.html#SEC124">12.4.3 Fortran</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1406"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1407"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1364"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1365"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX334"><CODE>forward-search</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1388"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1389"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1368"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1369"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1179">FR-V shared-library debugging</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1168">frame debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX291">frame number</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX290">frame pointer</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX469">frame pointer register</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX293"><CODE>frame, command</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX285">frame, definition</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX312"><CODE>frame, selecting</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX292">frameless execution</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1312"><CODE>frames-invalid annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC651">25.5 Invalidation Notices</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX887">free memory information (MS-DOS)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC719">fstat, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC719">stat/fstat</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX845">Fujitsu</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX679">full symbol tables, listing GDB's internal</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX305">function call arguments, optimized out</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX385">function entry/exit, wrong values of variables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX255">functions without line info, and stepping</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,441 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: G -- I</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: G -- I">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: G -- I">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_43.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_42.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_44.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: G -- I</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_G"></A>G</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1580"><SAMP>`g'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1581"><SAMP>`G'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX586"><CODE>g++</CODE>, GNU C<TT>++</TT> compiler</A></TD><TD valign=top><A HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX893">garbled pointers</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX594">GCC and C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX491"><CODE>gcore</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC80">8.16 How to Produce a Core File from Your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#SEC656">GDB bugs, reporting</A></TD><TD valign=top><A HREF="gdb_27.html#SEC656">26.2 How to Report Bugs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_30.html#IDX1511">GDB reference card</A></TD><TD valign=top><A HREF="gdb_30.html#SEC684">A. Formatting Documentation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#SEC10">GDB startup</A></TD><TD valign=top><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX83">GDB version number</A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX52"><TT>`gdb.ini'</TT></A></TD><TD valign=top><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC249">GDB/MI development</A></TD><TD valign=top><A HREF="gdb_25.html#SEC249">24.3 GDB/MI Development and Front Ends</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1286">GDB/MI, breakpoint commands</A></TD><TD valign=top><A HREF="gdb_25.html#SEC267">24.7 GDB/MI Breakpoint Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1272">GDB/MI, compatibility with CLI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC248">24.2 GDB/MI Compatibility with CLI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1289">GDB/MI, data manipulation</A></TD><TD valign=top><A HREF="gdb_25.html#SEC449">24.13 GDB/MI Data Manipulation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1261">GDB/MI, input syntax</A></TD><TD valign=top><A HREF="gdb_25.html#SEC246">24.1.1 GDB/MI Input Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1258">GDB/MI, its purpose</A></TD><TD valign=top><A HREF="gdb_25.html#SEC243">Function and Purpose</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1284">GDB/MI, out-of-band records</A></TD><TD valign=top><A HREF="gdb_25.html#SEC253">24.4.3 GDB/MI Out-of-band Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1263">GDB/MI, output syntax</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1275">GDB/MI, result records</A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#SEC254">GDB/MI, simple examples</A></TD><TD valign=top><A HREF="gdb_25.html#SEC254">24.5 Simple Examples of GDB/MI Interaction</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1281">GDB/MI, stream records</A></TD><TD valign=top><A HREF="gdb_25.html#SEC252">24.4.2 GDB/MI Stream Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1162">gdbarch debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1113"><CODE>GDBHISTFILE</CODE>, environment variable</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX808"><CODE>gdbserver</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC165">17.3 Using the <CODE>gdbserver</CODE> Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC168">gdbserver, multiple processes</A></TD><TD valign=top><A HREF="gdb_18.html#SEC168">17.3.1.2 Multi-Process Mode for <CODE>gdbserver</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX888">GDT</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX492"><CODE>generate-core-file</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC80">8.16 How to Produce a Core File from Your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1631">get thread-local storage address, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX854"><CODE>getDebugChar</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC720">gettimeofday, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC720">gettimeofday</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156">global debugging information directory</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX587">GNU C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_24.html#IDX1257">GNU Emacs</A></TD><TD valign=top><A HREF="gdb_24.html#SEC241">23. Using GDB under GNU Emacs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC187">GNU Hurd debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1170">GNU/Linux LWP debug messages</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX761"><CODE>gnu_debuglink_crc32</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX74"><CODE>h (<CODE>help</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1582"><SAMP>`H'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX270"><CODE>handle</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX850"><CODE>handle_exception</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX267">handling signals</A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX190">hardware breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX210">hardware watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX783">hash mark while downloading</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX189"><CODE>hbreak</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#SEC17"><CODE>help</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX772"><CODE>help target</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1192"><CODE>help user-defined</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1089"><CODE>heuristic-fence-post</CODE> (Alpha, MIPS)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_29.html#IDX1510">history events</A></TD><TD valign=top><A HREF="gdb_29.html#SEC681">28.1.1 Event Designators</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_29.html#SEC680">history expansion</A></TD><TD valign=top><A HREF="gdb_29.html#SEC680">28.1 History Expansion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1119">history expansion, turn on/off</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1111">history file</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX451">history number</A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX448">history of values printed by GDB</A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1116">history size</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1110">history substitution</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1346"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1396"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1397"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1394"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1395"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1118"><CODE>HISTSIZE</CODE>, environment variable</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1197"><CODE>hook</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1199"><CODE>hookpost</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#SEC231">hooks, for commands</A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1198">hooks, post-command</A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#SEC231">hooks, pre-command</A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1347"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC81">host character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC701">Host I/O, remote protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC701">D.7 Host I/O Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1186">how many arguments (user-defined commands)</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC217">HPPA support</A></TD><TD valign=top><A HREF="gdb_19.html#SEC217">18.4.5 HPPA</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1046"><CODE>htrace</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1045"><CODE>hwatch</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX78"><CODE>i (<CODE>info</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1584"><SAMP>`I'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1583"><SAMP>`i'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX111">i/o</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1071">I/O registers (Atmel AVR)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC209">18.3.11 Atmel AVR</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX835">i386</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX833"><TT>`i386-stub.c'</TT></A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX503">IBM1047 character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX890">IDT</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1205"><CODE>if</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX239"><CODE>ignore</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX238">ignore count (of breakpoint)</A></TD><TD valign=top><A HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX970"><CODE>INCLUDE_RDB</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX654">incomplete type</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX431">indentation in structure display</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1169">inferior debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX690">inferior functions, calling</A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX116">inferior tty</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1194">infinite recursion in user-defined commands</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX77"><CODE>info</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX647"><CODE>info address</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX464"><CODE>info all-registers</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX321"><CODE>info args</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX480"><CODE>info auxv</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX198"><CODE>info breakpoints</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX323"><CODE>info catch</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX167"><CODE>info checkpoints</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX662"><CODE>info classes</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX626"><CODE>info common</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC127">12.4.3.3 Special Fortran Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX85"><CODE>info copying</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX506"><CODE>info dcache</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC82">8.18 Caching Data of Remote Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX408"><CODE>info display</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX917"><CODE>info dll</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX884"><CODE>info dos</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX574"><CODE>info extensions</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX320"><CODE>info f (<CODE>info frame</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX727"><CODE>info files</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX473"><CODE>info float</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC70">8.11 Floating Point Hardware</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1538">info for known object files</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX156"><CODE>info forks</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX319"><CODE>info frame</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX571"><CODE>info frame, show the source language</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX660"><CODE>info functions</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX269"><CODE>info handle</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1070"><CODE>info io_registers, AVR</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC209">18.3.11 Atmel AVR</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX353"><CODE>info line</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX616"><CODE>info line, and Objective-C</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX322"><CODE>info locals</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX513"><CODE>info macro</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX485"><CODE>info mem</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX881"><CODE>info meminfo</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1042"><CODE>info or1k spr</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX879"><CODE>info pidlist</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX866"><CODE>info proc</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX171"><CODE>info program</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC31">5. Stopping and Continuing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX463"><CODE>info registers</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX656"><CODE>info scope</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX664"><CODE>info selectors</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX914"><CODE>info serial</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX81"><CODE>info set</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX738"><CODE>info share</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX737"><CODE>info sharedlibrary</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX268"><CODE>info signals</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX658"><CODE>info source</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX572"><CODE>info source, show the source language</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX659"><CODE>info sources</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1102"><CODE>info spu</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC218">18.4.6 Cell Broadband Engine SPU architecture</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX302"><CODE>info stack</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX649"><CODE>info symbol</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX728"><CODE>info target</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX113"><CODE>info terminal</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX131"><CODE>info threads</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX136"><CODE>info threads (HP-UX)</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX542"><CODE>info tp</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC90">10.1.5 Listing Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX541"><CODE>info tracepoints</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC90">10.1.5 Listing Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX655"><CODE>info types</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX477"><CODE>info udot</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX661"><CODE>info variables</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX474"><CODE>info vector</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC71">8.12 Vector Unit</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX916"><CODE>info w32</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX88"><CODE>info warranty</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX214"><CODE>info watchpoints [<VAR>n</VAR>]</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1245"><CODE>info win</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX543">information about tracepoints</A></TD><TD valign=top><A HREF="gdb_11.html#SEC90">10.1.5 Listing Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX608">inheritance</A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX49">init file</A></TD><TD valign=top><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX50">init file name</A></TD><TD valign=top><A HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX457"><CODE>init-if-undefined</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX287">initial frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#SEC665">initialization file, readline</A></TD><TD valign=top><A HREF="gdb_28.html#SEC665">27.3 Readline Init File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX289">innermost frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1260">input syntax for GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC246">24.1.1 GDB/MI Input Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1348"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1498"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1499"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1464"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1465"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX370"><CODE>inspect</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_31.html#SEC685">installation</A></TD><TD valign=top><A HREF="gdb_31.html#SEC685">B. Installing GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX360">instructions, assembly</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC724">integral datatypes, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC724">Integral Datatypes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX834">Intel</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX364">Intel disassembly flavor</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#SEC659">interaction, readline</A></TD><TD valign=top><A HREF="gdb_28.html#SEC659">27.2 Readline Interaction</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#SEC693">internal commands</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX207">internal GDB breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1219"><CODE>interpreter-exec</CODE></A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX55">interrupt</A></TD><TD valign=top><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX817">interrupt remote programs</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX797">interrupting remote programs</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX857">interrupting remote targets</A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC702">interrupts (remote protocol)</A></TD><TD valign=top><A HREF="gdb_33.html#SEC702">D.8 Interrupts</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1330">invalid input</A></TD><TD valign=top><A HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1218">invoke another interpreter</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC721">isatty, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC721">isatty</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1350"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX500">ISO 8859-1 character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX501">ISO Latin 1 character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,418 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: J -- M</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: J -- M">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: J -- M">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_44.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_43.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_45.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: J -- M</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_J"></A>J</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX685"><CODE>jump</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC149">14.2 Continuing at a Different Address</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX617"><CODE>jump, and Objective-C</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_K"></A>K</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1585"><SAMP>`k'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX864">kernel crash dump</A></TD><TD valign=top><A HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX863">kernel memory image</A></TD><TD valign=top><A HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1351"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX121"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC26">4.8 Killing the Child Process</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1335">kill ring</A></TD><TD valign=top><A HREF="gdb_28.html#SEC662">27.2.3 Readline Killing Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1426"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1427"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1444"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1445"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1432"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1433"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1434"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1435"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1333">killing text</A></TD><TD valign=top><A HREF="gdb_28.html#SEC662">27.2.3 Readline Killing Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX865"><CODE>kvm</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_L"></A>L</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX327"><CODE>l (<CODE>list</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC102">languages</A></TD><TD valign=top><A HREF="gdb_13.html#SEC102">12. Using GDB with Different Languages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX527">last tracepoint number</A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX187">latest breakpoint</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1246"><CODE>layout</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX889">LDT</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#SEC11">leaving GDB</A></TD><TD valign=top><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1232"><CODE>Left</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX862">libkvm</A></TD><TD valign=top><A HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC736">library list format, remote protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC736">D.11 Library List Format</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX824">limit hardware breakpoints and watchpoints</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX423">limit on number of printed array elements</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC734">limits, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC734">Limits</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#SEC53">linespec</A></TD><TD valign=top><A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1171">Linux lightweight processes</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX326"><CODE>list</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1628">list active threads, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC711">list of supported file-i/o calls</A></TD><TD valign=top><A HREF="gdb_33.html#SEC711">D.10.7 List of Supported Calls</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1270">list output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX618"><CODE>list, and Objective-C</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX328"><CODE>list</CODE>, how many lines to display</A></TD><TD valign=top><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX677">listing GDB's internal symbol tables</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX362">listing machine instructions</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX565">listing mapped overlays</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC98">load address, overlay's</A></TD><TD valign=top><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX788"><CODE>load <VAR>filename</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX736">load shared library</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX723">load symbols from memory</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX657">local variables</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX394">locate address</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX282">lock scheduler</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1269">log output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX61">logging file name</A></TD><TD valign=top><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#SEC13">logging GDB output</A></TD><TD valign=top><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1208"><CODE>loop_break</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1209"><CODE>loop_continue</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC733">lseek flags, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC733">Lseek Flags</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC716">lseek, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC716">lseek</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1590"><SAMP>`M'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1586"><SAMP>`m'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX995">M32-EVA target board address</A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1006">M32R/Chaos debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX838">m680x0</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX836"><TT>`m68k-stub.c'</TT></A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX361">machine instructions</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX516"><CODE>macro define</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX514">macro definition, showing</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX511"><CODE>macro exp1</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX507"><CODE>macro expand</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX508">macro expansion, showing the results of preprocessor</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX521"><CODE>macro list</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX520"><CODE>macro undef</CODE></A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX522">macros, example of debugging with</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX519">macros, user-defined</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1273">mailing lists</A></TD><TD valign=top><A HREF="gdb_25.html#SEC249">24.3 GDB/MI Development and Front Ends</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1514"><CODE>maint agent</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1516"><CODE>maint check-symtabs</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1517"><CODE>maint cplus first_component</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1518"><CODE>maint cplus namespace</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1519"><CODE>maint demangle</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1520"><CODE>maint deprecate</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1523"><CODE>maint dump-me</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1515"><CODE>maint info breakpoints</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX676"><CODE>maint info psymtabs</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX729"><CODE>maint info sections</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX137"><CODE>maint info sol-threads</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX675"><CODE>maint info symtabs</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1525"><CODE>maint internal-error</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1526"><CODE>maint internal-warning</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1527"><CODE>maint packet</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1528"><CODE>maint print architecture</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1529"><CODE>maint print c-tdesc</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1533"><CODE>maint print cooked-registers</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1530"><CODE>maint print dummy-frames</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1537"><CODE>maint print objfiles</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX673"><CODE>maint print psymbols</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1532"><CODE>maint print raw-registers</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1535"><CODE>maint print reggroups</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1534"><CODE>maint print register-groups</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1531"><CODE>maint print registers</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1539"><CODE>maint print statistics</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX671"><CODE>maint print symbols</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1541"><CODE>maint print target-stack</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1543"><CODE>maint print type</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1101"><CODE>maint print unwind, HPPA</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC217">18.4.5 HPPA</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1545"><CODE>maint set dwarf2 max-cache-age</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1548"><CODE>maint set profile</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1546"><CODE>maint show dwarf2 max-cache-age</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1549"><CODE>maint show profile</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1551"><CODE>maint show-debug-regs</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1553"><CODE>maint space</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1555"><CODE>maint time</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1557"><CODE>maint translate-address</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1521"><CODE>maint undeprecate</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#SEC693">maintenance commands</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX58"><CODE>make</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC12">2.3 Shell Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX561">manual overlay debugging</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX562">map an overlay</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX882">mapinfo list, QNX Neutrino</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC98">mapped address</A></TD><TD valign=top><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC98">mapped overlays</A></TD><TD valign=top><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1352"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1353"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1354"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX417">maximum value for offset of closest symbol</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX481"><CODE>mem</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX595">member functions</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX868">memory address space mappings</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC737">memory map format</A></TD><TD valign=top><A HREF="gdb_33.html#SEC737">D.12 Memory Map Format</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC73">memory region attributes</A></TD><TD valign=top><A HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX175">memory tracing</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC726">memory transfer, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC726">Memory Transfer</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1554">memory used by commands</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX734">memory used for symbol tables</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1589">memory, alignment and size of remote accesses</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX377">memory, viewing as typed object</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX860"><CODE>memset</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1466"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1467"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1349"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1215">mi interpreter</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1217">mi1 interpreter</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_22.html#IDX1216">mi2 interpreter</A></TD><TD valign=top><A HREF="gdb_22.html#SEC234">21. Command Interpreters</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX639">minimal language</A></TD><TD valign=top><A HREF="gdb_13.html#SEC145">12.5 Unsupported Languages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC184">Minimal symbols and DLLs</A></TD><TD valign=top><A HREF="gdb_19.html#SEC184">18.1.5.1 Support for DLLs without Debugging Symbols</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1094">MIPS addresses, masking</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1012">MIPS boards</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1021">MIPS remote floating point</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1087">MIPS stack</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX472">MMX registers (x86)</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC731">mode_t values, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC731">mode_t Values</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_1.html#IDX1">Modula-2</A></TD><TD valign=top><A HREF="gdb_1.html#SEC1">Summary of GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC131">Modula-2 built-ins</A></TD><TD valign=top><A HREF="gdb_13.html#SEC131">12.4.5.2 Built-in Functions and Procedures</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC136">Modula-2 checks</A></TD><TD valign=top><A HREF="gdb_13.html#SEC136">12.4.5.7 Modula-2 Type and Range Checks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX630">Modula-2 constants</A></TD><TD valign=top><A HREF="gdb_13.html#SEC131">12.4.5.2 Built-in Functions and Procedures</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC134">Modula-2 defaults</A></TD><TD valign=top><A HREF="gdb_13.html#SEC134">12.4.5.5 Modula-2 Defaults</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC130">Modula-2 operators</A></TD><TD valign=top><A HREF="gdb_13.html#SEC130">12.4.5.1 Operators</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC133">Modula-2 types</A></TD><TD valign=top><A HREF="gdb_13.html#SEC133">12.4.5.4 Modula-2 Types</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC135">Modula-2, deviations from</A></TD><TD valign=top><A HREF="gdb_13.html#SEC135">12.4.5.6 Deviations from Standard Modula-2</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX628">Modula-2, GDB support</A></TD><TD valign=top><A HREF="gdb_13.html#SEC129">12.4.5 Modula-2</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX804"><CODE>monitor</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC171">monitor commands, for <CODE>gdbserver</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC171">17.3.3 Monitor Commands for <CODE>gdbserver</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX837">Motorola 680x0</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC183">MS Windows debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX886">MS-DOS system info</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC182">MS-DOS-specific commands</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX149">multiple processes</A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC168">multiple processes with gdbserver</A></TD><TD valign=top><A HREF="gdb_18.html#SEC168">17.3.1.2 Multi-Process Mode for <CODE>gdbserver</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX771">multiple targets</A></TD><TD valign=top><A HREF="gdb_17.html#SEC159">16.1 Active Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX123">multiple threads</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX303">multiple threads, backtrace</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,408 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: N -- P</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: N -- P">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: N -- P">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_45.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_44.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_46.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: N -- P</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_N"></A>N</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX253"><CODE>n (<CODE>next</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1238"><CODE>n (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX641">names of symbols</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX597">namespace in C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC183">native Cygwin debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC182">native DJGPP debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX206">negative breakpoint numbers</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX781">NetROM ROM emulator target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX127"><CODE>New</CODE> <VAR>systag</VAR> message</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX134"><CODE>New</CODE> <VAR>systag</VAR> message, on HP-UX</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX252"><CODE>next</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1380"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1381"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX264"><CODE>nexti</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX265"><CODE>ni (<CODE>nexti</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1392"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1393"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1390"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1391"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX196">non-member C<TT>++</TT> functions, set breakpoint in</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX952">noninvasive task options</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX741"><CODE>nosharedlibrary</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#SEC660">notation, readline</A></TD><TD valign=top><A HREF="gdb_28.html#SEC660">27.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1259">notational conventions, for GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC244">Notation and Terminology</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1266">notify output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX429">NULL elements in arrays</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX422">number of array elements to print</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC225">number representation</A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX181">numbers for breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_O"></A>O</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX717">object files, relocatable, reading symbols from</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX613">Objective-C</A></TD><TD valign=top><A HREF="gdb_13.html#SEC121">12.4.2 Objective-C</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX663">Objective-C, classes and selectors</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC123">Objective-C, print objects</A></TD><TD valign=top><A HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1172">observer debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX433">octal escapes in strings</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#SEC17">online documentation</A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX668">opaque data types</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC730">open flags, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC730">Open Flags</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC712">open, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC712">open</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC199">OpenRISC 1000</A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1044">OpenRISC 1000 htrace</A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX89">optimized code, debugging</A></TD><TD valign=top><A HREF="gdb_5.html#SEC19">4.1 Compiling for Debugging</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX386">optimized code, wrong values of variables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC228">optional debugging messages</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1146">optional warnings</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1039">or1k boards</A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1041"><CODE>or1ksim</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1137">OS ABI</A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC72">OS information</A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1283">out-of-band records in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC253">24.4.3 GDB/MI Out-of-band Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX288">outermost frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1212"><CODE>output</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC233">20.4 Commands for Controlled Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX392">output formats</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1262">output syntax of GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1355"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX560"><CODE>overlay</CODE></A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC98">overlay area</A></TD><TD valign=top><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC101">overlay example program</A></TD><TD valign=top><A HREF="gdb_12.html#SEC101">11.4 Overlay Sample Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC97">overlays</A></TD><TD valign=top><A HREF="gdb_12.html#SEC97">11. Debugging Programs That Use Overlays</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX567">overlays, setting breakpoints in</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1300"><CODE>overload-choice annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX599">overloaded functions, calling</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX611">overloaded functions, overload resolution</A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC40">overloading</A></TD><TD valign=top><A HREF="gdb_6.html#SEC40">5.1.8 Breakpoint Menus</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX606">overloading in C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1424"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1425"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_P"></A>P</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1591"><SAMP>`p'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1592"><SAMP>`P'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1644">packet size, remote protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1174">packets, reporting on stdout</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC700">packets, tracepoint</A></TD><TD valign=top><A HREF="gdb_33.html#SEC700">D.6 Tracepoint Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX894">page tables display (MS-DOS)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1356"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX674">partial symbol dump</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX680">partial symbol tables, listing GDB's internal</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_1.html#IDX2">Pascal</A></TD><TD valign=top><A HREF="gdb_1.html#SEC1">Summary of GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX443">Pascal objects, static members display</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX627">Pascal support in GDB, limitations</A></TD><TD valign=top><A HREF="gdb_13.html#SEC128">12.4.4 Pascal</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1637">pass signals to inferior, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX534"><CODE>passcount</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC88">10.1.3 Tracepoint Passcounts</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX697">patching binaries</A></TD><TD valign=top><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX707">patching object files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX101"><CODE>path</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX947">pause current task (GNU Hurd)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX960">pause current thread (GNU Hurd)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC224">pauses in output</A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX200">pending breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1229"><CODE>PgDn</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1228"><CODE>PgUp</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX896">physical address from linear address</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX796">pipe, <CODE>target remote</CODE> to</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX93">pipes</A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1037"><CODE>pmon, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC123"><CODE>po (<CODE>print-object</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC725">pointer values, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC725">Pointer Values</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX419">pointer, finding referent</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX955">port rights, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX956">port sets, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1462"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1463"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1298"><CODE>post-commands annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1301"><CODE>post-overload-choice annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1295"><CODE>post-prompt annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1307"><CODE>post-prompt-for-continue annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1304"><CODE>post-query annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC219">PowerPC architecture</A></TD><TD valign=top><A HREF="gdb_19.html#SEC219">18.4.7 PowerPC</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1296"><CODE>pre-commands annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1299"><CODE>pre-overload-choice annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1293"><CODE>pre-prompt annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1305"><CODE>pre-prompt-for-continue annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1302"><CODE>pre-query annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX746">prefix for shared library file names</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1482"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1483"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX278">premature return from system calls</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX509">preprocessor macro expansion, showing the results of</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX420">pretty print arrays</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX444">pretty print C<TT>++</TT> virtual function tables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1378"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1379"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX369"><CODE>print</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX425">print all frame argument values</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX619">print an Objective-C object description</A></TD><TD valign=top><A HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX421">print array indexes</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX426">print frame argument values for scalars only</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX143">print messages on thread start and exit</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX411">print settings</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX430">print structures in indented form</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC123"><CODE>print-object</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX413">print/don't print memory addresses</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1213"><CODE>printf</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC233">20.4 Commands for Controlled Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX396">printing byte arrays</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX367">printing data</A></TD><TD valign=top><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX424">printing frame argument values</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX395">printing strings</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX875"><CODE>proc-trace-entry</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX876"><CODE>proc-trace-exit</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX877"><CODE>proc-untrace-entry</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX878"><CODE>proc-untrace-exit</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX869">process detailed status information</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX867">process ID</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC181">process info via <TT>`/proc'</TT></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX880">process list, QNX Neutrino</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX158"><CODE>process <VAR>process-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX468">process status register</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX150">processes, multiple</A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX871"><CODE>procfs</CODE> API calls</A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1550">profiling GDB</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX467">program counter register</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX307">program entry point</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1103">prompt</A></TD><TD valign=top><A HREF="gdb_20.html#SEC221">19.1 Prompt</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1294"><CODE>prompt annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1306"><CODE>prompt-for-continue annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC706">protocol basics, file-i/o</A></TD><TD valign=top><A HREF="gdb_33.html#SEC706">D.10.2 Protocol Basics</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1561">protocol, GDB remote serial</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC723">protocol-specific representation of datatypes, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC723">D.10.8 Protocol-specific Representation of Datatypes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX475"><CODE>ptrace</CODE> system call</A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX653"><CODE>ptype</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX855"><CODE>putDebugChar</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX109"><CODE>pwd</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC23">4.5 Your Program's Working Directory</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,372 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: Q -- R</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: Q -- R">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: Q -- R">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_46.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_45.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_47.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: Q -- R</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_Q"></A>Q</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX54"><CODE>q (<CODE>quit</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1239"><CODE>q (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1594"><SAMP>`Q'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1593"><SAMP>`q'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1625"><SAMP>`qC'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1627"><SAMP>`qCRC'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1629"><SAMP>`qfThreadInfo'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1632"><SAMP>`qGetTLSAddr'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC188">QNX Neutrino</A></TD><TD valign=top><A HREF="gdb_19.html#SEC188">18.1.7 QNX Neutrino</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1634"><SAMP>`qOffsets'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1636"><SAMP>`qP'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1638"><SAMP>`QPassSignals'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1640"><SAMP>`qRcmd'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1630"><SAMP>`qsThreadInfo'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1643"><SAMP>`qSupported'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1646"><SAMP>`qSymbol'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1648"><SAMP>`qThreadExtraInfo'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1303"><CODE>query annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX53"><CODE>quit [<VAR>expression</VAR>]</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1308"><CODE>quit annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC650">25.4 Errors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1408"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1409"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX72">quotes in commands</A></TD><TD valign=top><A HREF="gdb_4.html#SEC16">3.2 Command Completion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX636">quoting Ada internal identifiers</A></TD><TD valign=top><A HREF="gdb_13.html#SEC142">12.4.6.3 Additions to Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX642">quoting names</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1650"><SAMP>`qXfer'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX92"><CODE>r (<CODE>run</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1240"><CODE>r (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1595"><SAMP>`r'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1596"><SAMP>`R'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX226">raise exceptions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX579">range checking</A></TD><TD valign=top><A HREF="gdb_13.html#SEC109">12.3.1 An Overview of Type Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX183">ranges of breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX192"><CODE>rbreak</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX987">RDI heartbeat</A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX982"><CODE>rdilogenable</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX980"><CODE>rdilogfile</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1476"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1477"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1649">read special object, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC714">read, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC714">read</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX731">read-only sections</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX718">reading symbols from relocatable object files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX711">reading symbols immediately</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC222">readline</A></TD><TD valign=top><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX710"><CODE>readnow</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX954">receive rights, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX528">recent tracepoint number</A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX634">record aggregates (Ada)</A></TD><TD valign=top><A HREF="gdb_13.html#SEC141">12.4.6.2 Omissions from Ada</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX821">record serial communications on file</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#IDX1332">recording a session script</A></TD><TD valign=top><A HREF="gdb_27.html#SEC656">26.2 How to Report Bugs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX110">redirection</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1374"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1375"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_30.html#IDX1512">reference card</A></TD><TD valign=top><A HREF="gdb_30.html#SEC684">A. Formatting Documentation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX601">reference declarations</A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1248"><CODE>refresh</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1082">register stack, AMD29K</A></TD><TD valign=top><A HREF="gdb_19.html#SEC214">18.4.2 A29K</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX462">registers</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1075"><CODE>regs, Super-H</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC211">18.3.13 Renesas Super-H</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX193">regular expression</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX665">reloading symbols</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX564">reloading the overlay table</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX716">relocatable object files, reading symbols from</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX809">remote connection without stubs</A></TD><TD valign=top><A HREF="gdb_18.html#SEC165">17.3 Using the <CODE>gdbserver</CODE> Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC162">remote debugging</A></TD><TD valign=top><A HREF="gdb_18.html#SEC162">17. Debugging Remote Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX807"><CODE>remote delete</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX806"><CODE>remote get</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX400">remote memory comparison</A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1033">remote monitor prompt</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX827">remote packets, enabling and disabling</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX798">remote programs, interrupting</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1177">remote protocol debugging</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1568">remote protocol, binary data</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1567">remote protocol, field separator</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX805"><CODE>remote put</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC698">remote query requests</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX861">remote serial debugging summary</A></TD><TD valign=top><A HREF="gdb_18.html#SEC176">17.5.3 Putting it All Together</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX831">remote serial debugging, overview</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1563">remote serial protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX847">remote serial stub</A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX832">remote serial stub list</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX849">remote serial stub, initialization</A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX851">remote serial stub, main routine</A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX829">remote stub, example</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX853">remote stub, support routines</A></TD><TD valign=top><A HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX779">remote target</A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC164">remote target, file transfer</A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX825">remote target, limit break- and watchpoints</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX823">remote timeout</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1059"><CODE>remotetimeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX538">remove actions from a tracepoint</A></TD><TD valign=top><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC717">rename, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC717">rename</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX840">Renesas</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX428">repeated array elements</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX68">repeating command sequences</A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX64">repeating commands</A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_27.html#SEC654">reporting bugs in GDB</A></TD><TD valign=top><A HREF="gdb_27.html#SEC654">26. Reporting Bugs in GDB</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX371">reprint the last value</A></TD><TD valign=top><A HREF="gdb_9.html#SEC59">8. Examining Data</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1003">reset SDI connection, M32R</A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1088">response time, MIPS debugging</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX162">restart</A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX168"><CODE>restart <VAR>checkpoint-id</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX490"><CODE>restore</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC79">restore data from a file</A></TD><TD valign=top><A HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1274">result records in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX246">resuming execution</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX65"><CODE>RET (repeat last command)</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC15">3.1 Command Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1024"><CODE>retransmit-timeout</CODE>, MIPS protocol</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX688"><CODE>return</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC151">14.4 Returning from a Function</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX687">returning from a function</A></TD><TD valign=top><A HREF="gdb_15.html#SEC151">14.4 Returning from a Function</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX335"><CODE>reverse-search</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1386"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1387"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1486"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1487"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX165">rewind program state</A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1233"><CODE>Right</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX984">ROM at zero address, RDI</A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX91"><CODE>run</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX95">run to main procedure</A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX260">run until specified location</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#SEC20">running</A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1063">running and debugging Sparclet programs</A></TD><TD valign=top><A HREF="gdb_19.html#SEC206">18.3.8.4 Running and Debugging</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX972">running VxWorks tasks</A></TD><TD valign=top><A HREF="gdb_19.html#SEC193">18.2.1.3 Running Tasks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1061">running, on Sparclet</A></TD><TD valign=top><A HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX212"><CODE>rwatch</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,634 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: S</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: S">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: S">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_47.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_46.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_48.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: S</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_S"></A>S</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1241"><CODE>s (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX251"><CODE>s (<CODE>step</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1598"><SAMP>`S'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1597"><SAMP>`s'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1114">save command history</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#SEC13">save GDB output to a file</A></TD><TD valign=top><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC95">save tracepoints for future sessions</A></TD><TD valign=top><A HREF="gdb_11.html#SEC95">10.2.3 <CODE>save-tracepoints <VAR>filename</VAR></CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC95"><CODE>save-tracepoints</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC95">10.2.3 <CODE>save-tracepoints <VAR>filename</VAR></CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX281">scheduler locking mode</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#SEC137">scope</A></TD><TD valign=top><A HREF="gdb_13.html#SEC137">12.4.5.8 The Scope Operators <CODE>::</CODE> and <CODE>.</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1202">scripting commands</A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1002"><CODE>sdireset</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1004"><CODE>sdistatus</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1052">SDS protocol</A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1055"><CODE>sds, a command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX333"><CODE>search</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#SEC56">searching source files</A></TD><TD valign=top><A HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX726"><CODE>section</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1633">section offsets, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX891">segment descriptor tables</A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX553">select trace snapshot</A></TD><TD valign=top><A HREF="gdb_11.html#SEC93">10.2.1 <CODE>tfind <VAR>n</VAR></CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX295"><CODE>select-frame</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX284">selected frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC46">6. Examining the Stack</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX296">selecting frame silently</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1412"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1413"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX801">send command to remote monitor</A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX973">send command to simulator</A></TD><TD valign=top><A HREF="gdb_19.html#SEC194">18.3 Embedded Processors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1038">send PMON command</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX953">send rights, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#SEC164">sending files to remote systems</A></TD><TD valign=top><A HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#SEC156">separate debugging information files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1565">sequence-id, for GDB remote</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1175">serial connections, debugging</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX793">serial line, <CODE>target remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1562">serial protocol, GDB remote</A></TD><TD valign=top><A HREF="gdb_33.html#SEC695">D.1 Overview</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#SEC648">server prefix</A></TD><TD valign=top><A HREF="gdb_26.html#SEC648">25.2 The Server Prefix</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1109"><CODE>server</CODE>, command prefix</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX79"><CODE>set</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1091">set ABI for MIPS</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1290"><CODE>set annotate</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC647">25.1 What is an Annotation?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX765"><CODE>set architecture</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX98"><CODE>set args</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC21">4.3 Your Program's Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX977"><CODE>set arm</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX733"><CODE>set auto-solib-add</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX309"><CODE>set backtrace</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX994"><CODE>set board-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX204"><CODE>set breakpoint auto-hw</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX201"><CODE>set breakpoint pending</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX195">set breakpoints in many functions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX197">set breakpoints on all functions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX216"><CODE>set can-use-hw-watchpoints</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX645"><CODE>set case-sensitive</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX495"><CODE>set charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX581"><CODE>set check range</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC110">12.3.2 An Overview of Range Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX577"><CODE>set check type</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC109">12.3.1 An Overview of Type Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1141"><CODE>set coerce-float-to-double</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX898"><CODE>set com1base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX899"><CODE>set com1irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX900"><CODE>set com2base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX901"><CODE>set com2irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX902"><CODE>set com3base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX903"><CODE>set com3irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX904"><CODE>set com4base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX905"><CODE>set com4irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1149"><CODE>set complaints</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1151"><CODE>set confirm</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1143"><CODE>set cp-abi</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX919"><CODE>set cygwin-exceptions</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1161"><CODE>set debug</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1100"><CODE>set debug hppa</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC217">18.4.5 HPPA</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1098"><CODE>set debug mips</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX785"><CODE>set debug monitor</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX965"><CODE>set debug nto-debug</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC188">18.1.7 QNX Neutrino</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX755"><CODE>set debug-file-directory</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX927"><CODE>set debugevents</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX929"><CODE>set debugexceptions</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX928"><CODE>set debugexec</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX930"><CODE>set debugmemory</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX438"><CODE>set demangle-style</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX154"><CODE>set detach-on-fork</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX363"><CODE>set disassembly-flavor</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX991"><CODE>set download-path</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1106"><CODE>set editing</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX791"><CODE>set endian</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC161">16.3 Choosing Target Byte Order</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX104"><CODE>set environment</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX943"><CODE>set exceptions, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1159"><CODE>set exec-done-display</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX573"><CODE>set extension-language</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX151"><CODE>set follow-fork-mode</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX773"><CODE>set gnutarget</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX782"><CODE>set hash, for remote monitors</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1125"><CODE>set height</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1120"><CODE>set history expansion</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1112"><CODE>set history filename</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1115"><CODE>set history save</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1117"><CODE>set history size</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX494"><CODE>set host-charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX117">set inferior controlling terminal</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX118"><CODE>set inferior-tty</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1131"><CODE>set input-radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX569"><CODE>set language</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC105">12.1.2 Setting the Working Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX329"><CODE>set listsize</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX60"><CODE>set logging</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1196"><CODE>set max-user-call-depth</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX486"><CODE>set mem inaccessible-by-default</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC78">8.14.2 Memory Access Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1090"><CODE>set mips abi</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1093"><CODE>set mips mask-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1019"><CODE>set mipsfpu</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1032"><CODE>set monitor-prompt, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1035"><CODE>set monitor-warnings, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX923"><CODE>set new-console</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX925"><CODE>set new-group</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX669"><CODE>set opaque-type-resolution</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1138"><CODE>set osabi</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1132"><CODE>set output-radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX610"><CODE>set overload-resolution</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1129"><CODE>set pagination</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1047"><CODE>set powerpc</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX412"><CODE>set print</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX142"><CODE>set print thread-events</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX767"><CODE>set processor</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX873"><CODE>set procfs-file</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX870"><CODE>set procfs-trace</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1104"><CODE>set prompt</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC221">19.1 Prompt</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1135"><CODE>set radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX986"><CODE>set rdiheartbeat</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX983"><CODE>set rdiromatzero</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX812"><CODE>set remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1652"><CODE>set remote system-call-allowed</CODE></A></TD><TD valign=top><A HREF="gdb_33.html#SEC722">system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1096"><CODE>set remote-mips64-transfers-32bit-regs</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX504"><CODE>set remotecache</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC82">8.18 Caching Data of Remote Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX819"><CODE>set remoteflow</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1027"><CODE>set retransmit-timeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1080"><CODE>set rstack_high_address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC214">18.4.2 A29K</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1053"><CODE>set sdstimeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX997"><CODE>set server-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX931"><CODE>set shell</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX937"><CODE>set signal-thread</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX933"><CODE>set signals, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX934"><CODE>set sigs, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX938"><CODE>set sigthread</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX748"><CODE>set solib-absolute-prefix</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX753"><CODE>set solib-search-path</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX254"><CODE>set step-mode</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX743"><CODE>set stop-on-solib-events</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX941"><CODE>set stopped, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1076"><CODE>set struct-convention</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX350"><CODE>set substitute-path</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX666"><CODE>set symbol-reloading</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1029"><CODE>set syn-garbage-limit, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX749"><CODE>set sysroot</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX493"><CODE>set target-charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX945"><CODE>set task, Hurd commands</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#IDX1655">set tdesc filename</A></TD><TD valign=top><A HREF="gdb_35.html#SEC746">F.1 Retrieving Descriptions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX958"><CODE>set thread, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1025"><CODE>set timeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1157"><CODE>set trace-commands</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX524">set tracepoint</A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX730"><CODE>set trust-readonly-sections</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1255"><CODE>set tui active-border-mode</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1253"><CODE>set tui border-kind</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1254"><CODE>set tui border-mode</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX692"><CODE>set unwindonsignal</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX683"><CODE>set variable</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1147"><CODE>set verbose</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1558"><CODE>set watchdog</CODE></A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1126"><CODE>set width</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX700"><CODE>set write</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1490"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1491"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX848"><CODE>set_debug_traps</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX682">setting variables</A></TD><TD valign=top><A HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX208">setting watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX841">SH</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX839"><TT>`sh-stub.c'</TT></A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX740"><CODE>share</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX732">shared libraries</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1623">shared library events, remote reply</A></TD><TD valign=top><A HREF="gdb_33.html#SEC697">D.3 Stop Reply Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX739"><CODE>sharedlibrary</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX56"><CODE>shell</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC12">2.3 Shell Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX57">shell escape</A></TD><TD valign=top><A HREF="gdb_3.html#SEC12">2.3 Shell Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX80"><CODE>show</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX456">show all user variables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1291"><CODE>show annotate</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC647">25.1 What is an Annotation?</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX766"><CODE>show architecture</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX99"><CODE>show args</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC21">4.3 Your Program's Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX978"><CODE>show arm</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX735"><CODE>show auto-solib-add</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX310"><CODE>show backtrace</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX996"><CODE>show board-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX205"><CODE>show breakpoint auto-hw</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX202"><CODE>show breakpoint pending</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX217"><CODE>show can-use-hw-watchpoints</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX646"><CODE>show case-sensitive</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX496"><CODE>show charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX582"><CODE>show check range</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC110">12.3.2 An Overview of Range Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX578"><CODE>show check type</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC109">12.3.1 An Overview of Type Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1142"><CODE>show coerce-float-to-double</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX906"><CODE>show com1base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX907"><CODE>show com1irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX908"><CODE>show com2base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX909"><CODE>show com2irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX910"><CODE>show com3base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX911"><CODE>show com3irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX912"><CODE>show com4base</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX913"><CODE>show com4irq</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1122"><CODE>show commands</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1150"><CODE>show complaints</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1155"><CODE>show confirm</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX455"><CODE>show convenience</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX84"><CODE>show copying</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1144"><CODE>show cp-abi</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX922"><CODE>show cygwin-exceptions</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1164"><CODE>show debug</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1099"><CODE>show debug mips</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX787"><CODE>show debug monitor</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX966"><CODE>show debug nto-debug</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC188">18.1.7 QNX Neutrino</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX756"><CODE>show debug-file-directory</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX155"><CODE>show detach-on-fork</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX349"><CODE>show directories</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX366"><CODE>show disassembly-flavor</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX993"><CODE>show download-path</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1108"><CODE>show editing</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC222">19.2 Command Editing</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX103"><CODE>show environment</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX944"><CODE>show exceptions, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1160"><CODE>show exec-done-display</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX152"><CODE>show follow-fork-mode</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX774"><CODE>show gnutarget</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX784"><CODE>show hash, for remote monitors</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1128"><CODE>show height</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1121"><CODE>show history</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX497"><CODE>show host-charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX119"><CODE>show inferior-tty</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1133"><CODE>show input-radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX570"><CODE>show language</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1123">show last commands</A></TD><TD valign=top><A HREF="gdb_20.html#SEC223">19.3 Command History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX330"><CODE>show listsize</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_3.html#IDX62"><CODE>show logging</CODE></A></TD><TD valign=top><A HREF="gdb_3.html#SEC13">2.4 Logging Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1195"><CODE>show max-user-call-depth</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX487"><CODE>show mem inaccessible-by-default</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC78">8.14.2 Memory Access Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1092"><CODE>show mips abi</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1095"><CODE>show mips mask-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1020"><CODE>show mipsfpu</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1034"><CODE>show monitor-prompt, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1036"><CODE>show monitor-warnings, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX924"><CODE>show new-console</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX926"><CODE>show new-group</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX670"><CODE>show opaque-type-resolution</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1139"><CODE>show osabi</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1134"><CODE>show output-radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX612"><CODE>show overload-resolution</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1130"><CODE>show pagination</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX102"><CODE>show paths</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX414"><CODE>show print</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX144"><CODE>show print thread-events</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX768"><CODE>show processor</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX874"><CODE>show procfs-file</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX872"><CODE>show procfs-trace</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1105"><CODE>show prompt</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC221">19.1 Prompt</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1136"><CODE>show radix</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC225">19.5 Numbers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX988"><CODE>show rdiheartbeat</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX985"><CODE>show rdiromatzero</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX813"><CODE>show remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1653"><CODE>show remote system-call-allowed</CODE></A></TD><TD valign=top><A HREF="gdb_33.html#SEC722">system</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1097"><CODE>show remote-mips64-transfers-32bit-regs</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX505"><CODE>show remotecache</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC82">8.18 Caching Data of Remote Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX820"><CODE>show remoteflow</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1028"><CODE>show retransmit-timeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1083"><CODE>show rstack_high_address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC214">18.4.2 A29K</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1054"><CODE>show sdstimeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX999"><CODE>show server-address</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX932"><CODE>show shell</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX939"><CODE>show signal-thread</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX935"><CODE>show signals, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX936"><CODE>show sigs, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX940"><CODE>show sigthread</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX754"><CODE>show solib-search-path</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX744"><CODE>show stop-on-solib-events</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX942"><CODE>show stopped, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1079"><CODE>show struct-convention</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX352"><CODE>show substitute-path</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX667"><CODE>show symbol-reloading</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1031"><CODE>show syn-garbage-limit, MIPS remote</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX752"><CODE>show sysroot</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX498"><CODE>show target-charset</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX948"><CODE>show task, Hurd commands</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#IDX1657">show tdesc filename</A></TD><TD valign=top><A HREF="gdb_35.html#SEC746">F.1 Retrieving Descriptions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX961"><CODE>show thread, Hurd command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1026"><CODE>show timeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX695"><CODE>show unwindonsignal</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1193"><CODE>show user</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX452"><CODE>show values</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1148"><CODE>show verbose</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX82"><CODE>show version</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX87"><CODE>show warranty</CODE></A></TD><TD valign=top><A HREF="gdb_4.html#SEC17">3.3 Getting Help</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1127"><CODE>show width</CODE></A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX701"><CODE>show write</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1357"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1358"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX263"><CODE>si (<CODE>stepi</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX686"><CODE>signal</CODE></A></TD><TD valign=top><A HREF="gdb_15.html#SEC150">14.3 Giving your Program a Signal</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1322"><CODE>signal annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1318"><CODE>signal-name annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1319"><CODE>signal-name-end annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1320"><CODE>signal-string annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1321"><CODE>signal-string-end annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1317"><CODE>signalled annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC44">signals</A></TD><TD valign=top><A HREF="gdb_6.html#SEC44">5.3 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1524"><CODE>SIGQUIT</CODE> signal, dump core of GDB</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX243"><CODE>silent</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC39">5.1.7 Breakpoint Command Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1068"><CODE>sim</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX974"><CODE>sim, a command</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC194">18.3 Embedded Processors</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1066">simulator, Z8000</A></TD><TD valign=top><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1588">size of remote memory accesses</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#SEC224">size of screen</A></TD><TD valign=top><A HREF="gdb_20.html#SEC224">19.4 Screen Size</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX164">snapshot of a process</A></TD><TD valign=top><A HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX209">software watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1203"><CODE>source</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1325"><CODE>source annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC653">25.7 Displaying Source</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX415">source file and line of a symbol</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#SEC58">source line and its code address</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX336">source path</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX843">Sparc</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX842"><TT>`sparc-stub.c'</TT></A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX844"><TT>`sparcl-stub.c'</TT></A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1058">Sparclet</A></TD><TD valign=top><A HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX846">SparcLite</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX624">Special Fortran commands</A></TD><TD valign=top><A HREF="gdb_13.html#SEC127">12.4.3.3 Special Fortran Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#SEC53">specifying location</A></TD><TD valign=top><A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1043"><CODE>spr</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC218">SPU</A></TD><TD valign=top><A HREF="gdb_19.html#SEC218">18.4.6 Cell Broadband Engine SPU architecture</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX471">SSE registers (x86)</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX286">stack frame</A></TD><TD valign=top><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1084">stack on Alpha</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1085">stack on MIPS</A></TD><TD valign=top><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX466">stack pointer register</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX769">stacking targets</A></TD><TD valign=top><A HREF="gdb_17.html#SEC159">16.1 Active Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX470">standard registers</A></TD><TD valign=top><A HREF="gdb_9.html#SEC69">8.10 Registers</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX94"><CODE>start</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX545">start a new trace experiment</A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1470"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1471"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#SEC20">starting</A></TD><TD valign=top><A HREF="gdb_5.html#SEC20">4.2 Starting your Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1314"><CODE>starting annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX308">startup code, and backtrace</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC719">stat, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC719">stat/fstat</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX441">static members of C<TT>++</TT> objects</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX442">static members of Pascal objects</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX550">status of trace data collection</A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1264">status output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX250"><CODE>step</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX262"><CODE>stepi</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX244">stepping</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX256">stepping into functions with no line info</A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX548">stop a running trace experiment</A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX221">stop on C<TT>++</TT> exceptions</A></TD><TD valign=top><A HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC697">stop reply packets</A></TD><TD valign=top><A HREF="gdb_33.html#SEC697">D.3 Stop Reply Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1200"><CODE>stop, a pseudo-command</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX274">stopped threads</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1315"><CODE>stopping annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1282">stream records in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC252">24.4.2 GDB/MI Stream Records</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1077">struct return convention</A></TD><TD valign=top><A HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC727">struct stat, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC727">struct stat</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC728">struct timeval, in file-i/o protocol</A></TD><TD valign=top><A HREF="gdb_33.html#SEC728">struct timeval</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX476"><CODE>struct user</CODE> contents</A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1078">struct/union returned in registers</A></TD><TD valign=top><A HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX830">stub example, remote debugging</A></TD><TD valign=top><A HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1154">stupid questions</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#SEC211">Super-H</A></TD><TD valign=top><A HREF="gdb_19.html#SEC211">18.3.13 Renesas Super-H</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1641">supported packets, remote query</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX124">switching threads</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX146">switching threads automatically</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX437">symbol decoding style, C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX672">symbol dump</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX650">symbol from address</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1645">symbol lookup, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX640">symbol names</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#SEC40">symbol overloading</A></TD><TD valign=top><A HREF="gdb_6.html#SEC40">5.1.8 Breakpoint Menus</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX702">symbol table</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX678">symbol tables, listing GDB's internal</A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX416">symbol, source file and line</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX709"><CODE>symbol-file</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX719">symbols, reading from relocatable object files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX712">symbols, reading immediately</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1030">synchronize with remote MIPS target</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX722"><CODE>syscall DSO</CODE></A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX885"><CODE>sysinfo</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX277">system calls and thread breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX747">system root, alternate</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC722">system, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC722">system</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,356 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: T</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: T">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: T">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_48.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_47.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_49.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: T</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_T"></A>T</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1599"><SAMP>`t'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1600"><SAMP>`T'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1622"><SAMP>`T'</SAMP> packet reply</A></TD><TD valign=top><A HREF="gdb_33.html#SEC697">D.3 Stop Reply Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1410"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1411"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1252"><CODE>tabset</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX776"><CODE>target</CODE></A></TD><TD valign=top><A HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX764">target architecture</A></TD><TD valign=top><A HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1018"><CODE>target array</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_17.html#IDX790">target byte order</A></TD><TD valign=top><A HREF="gdb_17.html#SEC161">16.3 Choosing Target Byte Order</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC81">target character set</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1011"><CODE>target dbug</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC197">18.3.3 M68k</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1015"><CODE>target ddb <VAR>port</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1180">target debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC745">target descriptions</A></TD><TD valign=top><A HREF="gdb_35.html#SEC745">F. Target Descriptions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC755">target descriptions, ARM features</A></TD><TD valign=top><A HREF="gdb_35.html#SEC755">F.4.1 ARM Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC748">target descriptions, inclusion</A></TD><TD valign=top><A HREF="gdb_35.html#SEC748">F.2.1 Inclusion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC757">target descriptions, M68K features</A></TD><TD valign=top><A HREF="gdb_35.html#SEC757">F.4.3 M68K Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC756">target descriptions, MIPS features</A></TD><TD valign=top><A HREF="gdb_35.html#SEC756">F.4.2 MIPS Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC758">target descriptions, PowerPC features</A></TD><TD valign=top><A HREF="gdb_35.html#SEC758">F.4.4 PowerPC Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC753">target descriptions, predefined types</A></TD><TD valign=top><A HREF="gdb_35.html#SEC753">F.3 Predefined Target Types</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC754">target descriptions, standard features</A></TD><TD valign=top><A HREF="gdb_35.html#SEC754">F.4 Standard Target Features</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC747">target descriptions, XML format</A></TD><TD valign=top><A HREF="gdb_35.html#SEC747">F.2 Target Description Format</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1048"><CODE>target dink32</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1040"><CODE>target jtag</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1016"><CODE>target lsi <VAR>port</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX989"><CODE>target m32r</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX990"><CODE>target m32rsdi</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1013"><CODE>target mips <VAR>port</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1056"><CODE>target op50n</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC201">18.3.7 HP PA Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1268">target output in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1014"><CODE>target pmon <VAR>port</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1049"><CODE>target ppcbug</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1050"><CODE>target ppcbug1</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1017"><CODE>target r3900</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX975"><CODE>target rdi</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX976"><CODE>target rdp</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX792"><CODE>target remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1051"><CODE>target sds</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1069"><CODE>target sim, with Z8000</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1064"><CODE>target sparclite</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC207">18.3.9 Fujitsu Sparclite</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1542">target stack description</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX968"><CODE>target vxworks</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1057"><CODE>target w89k</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC201">18.3.7 HP PA Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX946">task attributes (GNU Hurd)</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX951">task exception port, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX949">task suspend count</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX188"><CODE>tbreak</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX794"><FONT SIZE="-1">TCP</FONT> port, <CODE>target remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC94"><CODE>tdump</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC94">10.2.2 <CODE>tdump</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX112">terminal</A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC235">Text User Interface</A></TD><TD valign=top><A HREF="gdb_23.html#SEC235">22. GDB Text User Interface</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX552"><CODE>tfind</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC93">10.2.1 <CODE>tfind <VAR>n</VAR></CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX191"><CODE>thbreak</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX596"><CODE>this, inside C<TT>++</TT> member functions</CODE></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX140"><CODE>thread apply</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1647">thread attributes info, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX272">thread breakpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX276">thread breakpoints and system calls</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX964">thread default settings, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX130">thread identifier (GDB)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX133">thread identifier (GDB), on HP-UX</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX128">thread identifier (system)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX135">thread identifier (system), on HP-UX</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX138">thread info (Solaris)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1635">thread information, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX129">thread number</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX959">thread properties, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX962">thread suspend count, GNU Hurd</A></TD><TD valign=top><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX139"><CODE>thread <VAR>threadno</VAR></CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX219">threads and watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX122">threads of execution</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX147">threads, automatic switching</A></TD><TD valign=top><A HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX280">threads, continuing</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX275">threads, stopped</A></TD><TD valign=top><A HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1488"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1489"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1556">time of command execution</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1560">timeout for commands</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX822">timeout for serial communications</A></TD><TD valign=top><A HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1023"><CODE>timeout</CODE>, MIPS protocol</A></TD><TD valign=top><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1001"><CODE>tload, M32R</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX525"><CODE>trace</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX551">trace experiment, status of</A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX297">traceback</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX537">tracepoint actions</A></TD><TD valign=top><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC94">tracepoint data, display</A></TD><TD valign=top><A HREF="gdb_11.html#SEC94">10.2.2 <CODE>tdump</CODE></A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX531">tracepoint deletion</A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX529">tracepoint number</A></TD><TD valign=top><A HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC700">tracepoint packets</A></TD><TD valign=top><A HREF="gdb_33.html#SEC700">D.6 Tracepoint Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX535">tracepoint pass count</A></TD><TD valign=top><A HREF="gdb_11.html#SEC88">10.1.3 Tracepoint Passcounts</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#SEC96">tracepoint variables</A></TD><TD valign=top><A HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX523">tracepoints</A></TD><TD valign=top><A HREF="gdb_11.html#SEC84">10. Tracepoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX621">trailing underscore, in Fortran symbols</A></TD><TD valign=top><A HREF="gdb_13.html#SEC124">12.4.3 Fortran</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC81">translating between character sets</A></TD><TD valign=top><A HREF="gdb_9.html#SEC81">8.17 Character Sets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1414"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1415"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1416"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1417"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX544"><CODE>tstart</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX549"><CODE>tstatus</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX547"><CODE>tstop</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX114"><CODE>tty</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC235">TUI</A></TD><TD valign=top><A HREF="gdb_23.html#SEC235">22. GDB Text User Interface</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC239">TUI commands</A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC240">TUI configuration variables</A></TD><TD valign=top><A HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC237">TUI key bindings</A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1249"><CODE>tui reg</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#SEC238">TUI single key mode</A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX376">type casting memory</A></TD><TD valign=top><A HREF="gdb_9.html#SEC60">8.1 Expressions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1544">type chain of a data type</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX575">type checking</A></TD><TD valign=top><A HREF="gdb_13.html#SEC108">12.3 Type and Range Checking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX600">type conversions in C<TT>++</TT></A></TD><TD valign=top><A HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,360 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: U -- Y</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: U -- Y">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: U -- Y">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_49.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_48.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_50.html"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: U -- Y</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_U"></A>U</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1242"><CODE>u (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX259"><CODE>u (<CODE>until</CODE>)</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_18.html#IDX795"><FONT SIZE="-1">UDP</FONT> port, <CODE>target remote</CODE></A></TD><TD valign=top><A HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX405"><CODE>undisplay</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC65">8.6 Automatic Display</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1484"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1485"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX434">unions in structures, printing</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1458"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC674">27.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1459"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC674">27.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1440"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1441"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1430"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1431"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1438"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1439"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX393">unknown address, locating</A></TD><TD valign=top><A HREF="gdb_9.html#SEC63">8.4 Output Formats</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC718">unlink, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC718">unlink</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX706">unlinked object files</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX742">unload symbols from shared libraries</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#IDX563">unmap an overlay</A></TD><TD valign=top><A HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_12.html#SEC98">unmapped overlays</A></TD><TD valign=top><A HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX105"><CODE>unset environment</CODE></A></TD><TD valign=top><A HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX351"><CODE>unset substitute-path</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#IDX1656">unset tdesc filename</A></TD><TD valign=top><A HREF="gdb_35.html#SEC746">F.1 Retrieving Descriptions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX638">unsupported languages</A></TD><TD valign=top><A HREF="gdb_13.html#SEC145">12.5 Unsupported Languages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX258"><CODE>until</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX693">unwind stack in called functions</A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1230"><CODE>Up</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX314"><CODE>up</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX318"><CODE>up-silently</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1418"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1419"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1250"><CODE>update</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1000"><CODE>upload, M32R</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX215">use only software watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1010"><CODE>use_dbt_break</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1007"><CODE>use_debug_dma</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1009"><CODE>use_ib_break</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1008"><CODE>use_mon_code</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1183">user-defined command</A></TD><TD valign=top><A HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_10.html#IDX517">user-defined macros</A></TD><TD valign=top><A HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX454">user-defined variables</A></TD><TD valign=top><A HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1243"><CODE>v (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX447">value history</A></TD><TD valign=top><A HREF="gdb_9.html#SEC67">8.8 Value History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX304">value optimized out, in backtrace</A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX379">variable name conflict</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1181">variable object debugging info</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_25.html#IDX1287">variable objects in GDB/MI</A></TD><TD valign=top><A HREF="gdb_25.html#SEC414">Introduction to Variable Objects</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX384">variable values, wrong</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1336">variables, readline</A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX684">variables, setting</A></TD><TD valign=top><A HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1601"><SAMP>`vAttach'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1602"><SAMP>`vCont'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1603"><SAMP>`vCont?'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#SEC71">vector unit</A></TD><TD valign=top><A HREF="gdb_9.html#SEC71">8.12 Vector Unit</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX479">vector, auxiliary</A></TD><TD valign=top><A HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1145">verbose operation</A></TD><TD valign=top><A HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX401">verify remote memory image</A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1604"><SAMP>`vFile'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1607"><SAMP>`vFlashDone'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1605"><SAMP>`vFlashErase'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1606"><SAMP>`vFlashWrite'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1508"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1509"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX445">virtual functions (C<TT>++</TT>) display</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1359"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1608"><SAMP>`vRun'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX446">VTBL display</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX967">VxWorks</A></TD><TD valign=top><A HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX969"><CODE>vxworks-timeout</CODE></A></TD><TD valign=top><A HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_W"></A>W</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1244"><CODE>w (SingleKey TUI key)</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX211"><CODE>watch</CODE></A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1559">watchdog timer</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_26.html#IDX1324"><CODE>watchpoint annotation</CODE></A></TD><TD valign=top><A HREF="gdb_26.html#SEC652">25.6 Running the Program</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX173">watchpoints</A></TD><TD valign=top><A HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_6.html#IDX218">watchpoints and threads</A></TD><TD valign=top><A HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX696">weak alias functions</A></TD><TD valign=top><A HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_14.html#IDX652"><CODE>whatis</CODE></A></TD><TD valign=top><A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_7.html#IDX301"><CODE>where</CODE></A></TD><TD valign=top><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_16.html#IDX745">where to look for shared libraries</A></TD><TD valign=top><A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_21.html#IDX1207"><CODE>while</CODE></A></TD><TD valign=top><A HREF="gdb_21.html#SEC232">20.3 Command Files</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_11.html#IDX540"><CODE>while-stepping (tracepoints)</CODE></A></TD><TD valign=top><A HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX418">wild pointer, interpreting</A></TD><TD valign=top><A HREF="gdb_9.html#SEC66">8.7 Print Settings</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_23.html#IDX1251"><CODE>winheight</CODE></A></TD><TD valign=top><A HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_4.html#IDX71">word completion</A></TD><TD valign=top><A HREF="gdb_4.html#SEC16">3.2 Command Completion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX346">working directory</A></TD><TD valign=top><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_5.html#IDX106">working directory (of your program)</A></TD><TD valign=top><A HREF="gdb_5.html#SEC23">4.5 Your Program's Working Directory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_13.html#IDX568">working language</A></TD><TD valign=top><A HREF="gdb_13.html#SEC102">12. Using GDB with Different Languages</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1651">write data into object, remote request</A></TD><TD valign=top><A HREF="gdb_33.html#SEC698">D.4 General Query Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#SEC715">write, file-i/o system call</A></TD><TD valign=top><A HREF="gdb_33.html#SEC715">write</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX699">writing into corefiles</A></TD><TD valign=top><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_15.html#IDX698">writing into executables</A></TD><TD valign=top><A HREF="gdb_15.html#SEC153">14.6 Patching Programs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX383">wrong values</A></TD><TD valign=top><A HREF="gdb_9.html#SEC61">8.2 Program Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_X"></A>X</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_9.html#IDX398"><CODE>x (examine memory)</CODE></A></TD><TD valign=top><A HREF="gdb_9.html#SEC64">8.5 Examining Memory</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX356"><CODE>x</CODE> command, default address</A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1609"><SAMP>`X'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_8.html#IDX357"><CODE>x(examine), and info line</CODE></A></TD><TD valign=top><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_32.html#IDX1552">x86 hardware debug registers</A></TD><TD valign=top><A HREF="gdb_32.html#SEC693">C. Maintenance Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_35.html#SEC748">XInclude</A></TD><TD valign=top><A HREF="gdb_35.html#SEC748">F.2.1 Inclusion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_20.html#IDX1182">XML parser debugging</A></TD><TD valign=top><A HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_Y"></A>Y</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1452"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1453"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1400"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1401"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1398"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1399"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1454"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1455"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_28.html#IDX1334">yanking text</A></TD><TD valign=top><A HREF="gdb_28.html#SEC662">27.2.3 Readline Killing Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,259 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Index: Z</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Index: Z">
<META NAME="keywords" CONTENT="Debugging with GDB: Index: Z">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_50.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_49.html"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2 ALIGN="Left">Index: Z</H2>
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br><P></P>
<TABLE border=0>
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_Z"></A>Z</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1610"><SAMP>`z'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1611"><SAMP>`Z'</SAMP> packets</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1612"><SAMP>`z0'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1613"><SAMP>`Z0'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1615"><SAMP>`Z1'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1614"><SAMP>`z1'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1616"><SAMP>`z2'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1617"><SAMP>`Z2'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1619"><SAMP>`Z3'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1618"><SAMP>`z3'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1620"><SAMP>`z4'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_33.html#IDX1621"><SAMP>`Z4'</SAMP> packet</A></TD><TD valign=top><A HREF="gdb_33.html#SEC696">D.2 Packets</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1065">Z8000</A></TD><TD valign=top><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="gdb_19.html#IDX1067">Zilog Z8000 simulator</A></TD><TD valign=top><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="gdb_38.html#cp_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF='gdb_38.html#cp_"' style="text-decoration:none"><b>"</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_#" style="text-decoration:none"><b>#</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_$" style="text-decoration:none"><b>$</b></A>
&nbsp;
<A HREF="gdb_38.html#cp_-" style="text-decoration:none"><b>-</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_/" style="text-decoration:none"><b>/</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_:" style="text-decoration:none"><b>:</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_<" style="text-decoration:none"><b><</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_?" style="text-decoration:none"><b>?</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_@" style="text-decoration:none"><b>@</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_^" style="text-decoration:none"><b>^</b></A>
&nbsp;
<A HREF="gdb_39.html#cp__" style="text-decoration:none"><b>_</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_{" style="text-decoration:none"><b>{</b></A>
&nbsp;
<BR>
<A HREF="gdb_39.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="gdb_39.html#cp_B" style="text-decoration:none"><b>B</b></A>
&nbsp;
<A HREF="gdb_40.html#cp_C" style="text-decoration:none"><b>C</b></A>
&nbsp;
<A HREF="gdb_41.html#cp_D" style="text-decoration:none"><b>D</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_E" style="text-decoration:none"><b>E</b></A>
&nbsp;
<A HREF="gdb_42.html#cp_F" style="text-decoration:none"><b>F</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_G" style="text-decoration:none"><b>G</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_H" style="text-decoration:none"><b>H</b></A>
&nbsp;
<A HREF="gdb_43.html#cp_I" style="text-decoration:none"><b>I</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_J" style="text-decoration:none"><b>J</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_K" style="text-decoration:none"><b>K</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_L" style="text-decoration:none"><b>L</b></A>
&nbsp;
<A HREF="gdb_44.html#cp_M" style="text-decoration:none"><b>M</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_N" style="text-decoration:none"><b>N</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_O" style="text-decoration:none"><b>O</b></A>
&nbsp;
<A HREF="gdb_45.html#cp_P" style="text-decoration:none"><b>P</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
&nbsp;
<A HREF="gdb_46.html#cp_R" style="text-decoration:none"><b>R</b></A>
&nbsp;
<A HREF="gdb_47.html#cp_S" style="text-decoration:none"><b>S</b></A>
&nbsp;
<A HREF="gdb_48.html#cp_T" style="text-decoration:none"><b>T</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_U" style="text-decoration:none"><b>U</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_V" style="text-decoration:none"><b>V</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_W" style="text-decoration:none"><b>W</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_X" style="text-decoration:none"><b>X</b></A>
&nbsp;
<A HREF="gdb_49.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
&nbsp;
<A HREF="gdb_50.html#cp_Z" style="text-decoration:none"><b>Z</b></A>
&nbsp;
</td></tr></table><br></P><P>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,609 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Stack</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Stack">
<META NAME="keywords" CONTENT="Debugging with GDB: Stack">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC46"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_6.html#SEC45"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC47"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 6. Examining the Stack </H1>
<!--docid::SEC46::-->
<P>
When your program has stopped, the first thing you need to know is where it
stopped and how it got there.
</P><P>
<A NAME="IDX283"></A>
Each time your program performs a function call, information about the call
is generated.
That information includes the location of the call in your program,
the arguments of the call,
and the local variables of the function being called.
The information is saved in a block of data called a <EM>stack frame</EM>.
The stack frames are allocated in a region of memory called the <EM>call
stack</EM>.
</P><P>
When your program stops, the GDB commands for examining the
stack allow you to see all of this information.
</P><P>
<A NAME="IDX284"></A>
One of the stack frames is <EM>selected</EM> by GDB and many
GDB commands refer implicitly to the selected frame. In
particular, whenever you ask GDB for the value of a variable in
your program, the value is found in the selected frame. There are
special GDB commands to select whichever frame you are
interested in. See section <A HREF="gdb_7.html#SEC49">Selecting a Frame</A>.
</P><P>
When your program stops, GDB automatically selects the
currently executing frame and describes it briefly, similar to the
<CODE>frame</CODE> command (see section <A HREF="gdb_7.html#SEC50">Information about a Frame</A>).
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_7.html#SEC47">6.1 Stack Frames</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Stack frames</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_7.html#SEC48">6.2 Backtraces</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Selecting a frame</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Information on a frame</TD></TR>
</TABLE>
<br>
</BLOCKQUOTE>
<P>
<A NAME="Frames"></A>
<HR SIZE="6">
<A NAME="SEC47"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC48"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.1 Stack Frames </H2>
<!--docid::SEC47::-->
<P>
<A NAME="IDX285"></A>
<A NAME="IDX286"></A>
The call stack is divided up into contiguous pieces called <EM>stack
frames</EM>, or <EM>frames</EM> for short; each frame is the data associated
with one call to one function. The frame contains the arguments given
to the function, the function's local variables, and the address at
which the function is executing.
</P><P>
<A NAME="IDX287"></A>
<A NAME="IDX288"></A>
<A NAME="IDX289"></A>
When your program is started, the stack has only one frame, that of the
function <CODE>main</CODE>. This is called the <EM>initial</EM> frame or the
<EM>outermost</EM> frame. Each time a function is called, a new frame is
made. Each time a function returns, the frame for that function invocation
is eliminated. If a function is recursive, there can be many frames for
the same function. The frame for the function in which execution is
actually occurring is called the <EM>innermost</EM> frame. This is the most
recently created of all the stack frames that still exist.
</P><P>
<A NAME="IDX290"></A>
Inside your program, stack frames are identified by their addresses. A
stack frame consists of many bytes, each of which has its own address; each
kind of computer has a convention for choosing one byte whose
address serves as the address of the frame. Usually this address is kept
in a register called the <EM>frame pointer register</EM>
(see section <A HREF="gdb_9.html#SEC69">$fp</A>) while execution is going on in that frame.
</P><P>
<A NAME="IDX291"></A>
GDB assigns numbers to all existing stack frames, starting with
zero for the innermost frame, one for the frame that called it,
and so on upward. These numbers do not really exist in your program;
they are assigned by GDB to give you a way of designating stack
frames in GDB commands.
</P><P>
<A NAME="IDX292"></A>
Some compilers provide a way to compile functions so that they operate
without stack frames. (For example, the GCC option
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre><SAMP>`-fomit-frame-pointer'</SAMP>
</FONT></pre></td></tr></table>generates functions without a frame.)
This is occasionally done with heavily used library functions to save
the frame setup time. GDB has limited facilities for dealing
with these function invocations. If the innermost function invocation
has no stack frame, GDB nevertheless regards it as though
it had a separate frame, which is numbered zero as usual, allowing
correct tracing of the function call chain. However, GDB has
no provision for frameless functions elsewhere in the stack.
</P><P>
<DL COMPACT>
<A NAME="IDX293"></A>
<A NAME="IDX294"></A>
<DT><CODE>frame <VAR>args</VAR></CODE>
<DD>The <CODE>frame</CODE> command allows you to move from one stack frame to another,
and to print the stack frame you select. <VAR>args</VAR> may be either the
address of the frame or the stack frame number. Without an argument,
<CODE>frame</CODE> prints the current stack frame.
<P>
<A NAME="IDX295"></A>
<A NAME="IDX296"></A>
<DT><CODE>select-frame</CODE>
<DD>The <CODE>select-frame</CODE> command allows you to move from one stack frame
to another without printing the frame. This is the silent version of
<CODE>frame</CODE>.
</DL>
<P>
<A NAME="Backtrace"></A>
<HR SIZE="6">
<A NAME="SEC48"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC47"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC49"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC49"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.2 Backtraces </H2>
<!--docid::SEC48::-->
<P>
<A NAME="IDX297"></A>
<A NAME="IDX298"></A>
A backtrace is a summary of how your program got where it is. It shows one
line per frame, for many frames, starting with the currently executing
frame (frame zero), followed by its caller (frame one), and on up the
stack.
</P><P>
<DL COMPACT>
<A NAME="IDX299"></A>
<A NAME="IDX300"></A>
<DT><CODE>backtrace</CODE>
<DD><DT><CODE>bt</CODE>
<DD>Print a backtrace of the entire stack: one line per frame for all
frames in the stack.
<P>
You can stop the backtrace at any time by typing the system interrupt
character, normally <KBD>Ctrl-c</KBD>.
</P><P>
<DT><CODE>backtrace <VAR>n</VAR></CODE>
<DD><DT><CODE>bt <VAR>n</VAR></CODE>
<DD>Similar, but print only the innermost <VAR>n</VAR> frames.
<P>
<DT><CODE>backtrace -<VAR>n</VAR></CODE>
<DD><DT><CODE>bt -<VAR>n</VAR></CODE>
<DD>Similar, but print only the outermost <VAR>n</VAR> frames.
<P>
<DT><CODE>backtrace full</CODE>
<DD><DT><CODE>bt full</CODE>
<DD><DT><CODE>bt full <VAR>n</VAR></CODE>
<DD><DT><CODE>bt full -<VAR>n</VAR></CODE>
<DD>Print the values of the local variables also. <VAR>n</VAR> specifies the
number of frames to print, as described above.
</DL>
<P>
<A NAME="IDX301"></A>
<A NAME="IDX302"></A>
The names <CODE>where</CODE> and <CODE>info stack</CODE> (abbreviated <CODE>info s</CODE>)
are additional aliases for <CODE>backtrace</CODE>.
</P><P>
<A NAME="IDX303"></A>
In a multi-threaded program, GDB by default shows the
backtrace only for the current thread. To display the backtrace for
several or all of the threads, use the command <CODE>thread apply</CODE>
(see section <A HREF="gdb_5.html#SEC27">thread apply</A>). For example, if you type <KBD>thread
apply all backtrace</KBD>, GDB will display the backtrace for all
the threads; this is handy when you debug a core dump of a
multi-threaded program.
</P><P>
Each line in the backtrace shows the frame number and the function name.
The program counter value is also shown--unless you use <CODE>set
print address off</CODE>. The backtrace also shows the source file name and
line number, as well as the arguments to the function. The program
counter value is omitted if it is at the beginning of the code for that
line number.
</P><P>
Here is an example of a backtrace. It was made with the command
<SAMP>`bt 3'</SAMP>, so it shows the innermost three frames.
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>#0 m4_traceon (obs=0x24eb0, argc=1, argv=0x2b8c8)
at builtin.c:993
#1 0x6e38 in expand_macro (sym=0x2b600) at macro.c:242
#2 0x6840 in expand_token (obs=0x0, t=177664, td=0xf7fffb08)
at macro.c:71
(More stack frames follow...)
</FONT></pre></td></tr></table></P><P>
The display for frame zero does not begin with a program counter
value, indicating that your program has stopped at the beginning of the
code for line <CODE>993</CODE> of <CODE>builtin.c</CODE>.
</P><P>
<A NAME="IDX304"></A>
<A NAME="IDX305"></A>
If your program was compiled with optimizations, some compilers will
optimize away arguments passed to functions if those arguments are
never used after the call. Such optimizations generate code that
passes arguments through registers, but doesn't store those arguments
in the stack frame. GDB has no way of displaying such
arguments in stack frames other than the innermost one. Here's what
such a backtrace might look like:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>#0 m4_traceon (obs=0x24eb0, argc=1, argv=0x2b8c8)
at builtin.c:993
#1 0x6e38 in expand_macro (sym=&#60;value optimized out&#62;) at macro.c:242
#2 0x6840 in expand_token (obs=0x0, t=&#60;value optimized out&#62;, td=0xf7fffb08)
at macro.c:71
(More stack frames follow...)
</FONT></pre></td></tr></table></P><P>
The values of arguments that were not saved in their stack frames are
shown as <SAMP>`&#60;value optimized out&#62;'</SAMP>.
</P><P>
If you need to display the values of such optimized-out arguments,
either deduce that from other variables whose values depend on the one
you are interested in, or recompile without optimizations.
</P><P>
<A NAME="IDX306"></A>
<A NAME="IDX307"></A>
<A NAME="IDX308"></A>
Most programs have a standard user entry point--a place where system
libraries and startup code transition into user code. For C this is
<CODE>main</CODE><A NAME="DOCF3" HREF="gdb_fot.html#FOOT3">(3)</A>.
When GDB finds the entry function in a backtrace
it will terminate the backtrace, to avoid tracing into highly
system-specific (and generally uninteresting) code.
</P><P>
If you need to examine the startup code, or limit the number of levels
in a backtrace, you can change this behavior:
</P><P>
<DL COMPACT>
<DT><CODE>set backtrace past-main</CODE>
<DD><DT><CODE>set backtrace past-main on</CODE>
<DD><A NAME="IDX309"></A>
Backtraces will continue past the user entry point.
<P>
<DT><CODE>set backtrace past-main off</CODE>
<DD>Backtraces will stop when they encounter the user entry point. This is the
default.
<P>
<DT><CODE>show backtrace past-main</CODE>
<DD><A NAME="IDX310"></A>
Display the current user entry point backtrace policy.
<P>
<DT><CODE>set backtrace past-entry</CODE>
<DD><DT><CODE>set backtrace past-entry on</CODE>
<DD>Backtraces will continue past the internal entry point of an application.
This entry point is encoded by the linker when the application is built,
and is likely before the user entry point <CODE>main</CODE> (or equivalent) is called.
<P>
<DT><CODE>set backtrace past-entry off</CODE>
<DD>Backtraces will stop when they encounter the internal entry point of an
application. This is the default.
<P>
<DT><CODE>show backtrace past-entry</CODE>
<DD>Display the current internal entry point backtrace policy.
<P>
<DT><CODE>set backtrace limit <VAR>n</VAR></CODE>
<DD><DT><CODE>set backtrace limit 0</CODE>
<DD><A NAME="IDX311"></A>
Limit the backtrace to <VAR>n</VAR> levels. A value of zero means
unlimited.
<P>
<DT><CODE>show backtrace limit</CODE>
<DD>Display the current limit on backtrace levels.
</DL>
<P>
<A NAME="Selection"></A>
<HR SIZE="6">
<A NAME="SEC49"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC48"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC50"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC50"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.3 Selecting a Frame </H2>
<!--docid::SEC49::-->
<P>
Most commands for examining the stack and other data in your program work on
whichever stack frame is selected at the moment. Here are the commands for
selecting a stack frame; all of them finish by printing a brief description
of the stack frame just selected.
</P><P>
<DL COMPACT>
<A NAME="IDX312"></A>
<A NAME="IDX313"></A>
<DT><CODE>frame <VAR>n</VAR></CODE>
<DD><DT><CODE>f <VAR>n</VAR></CODE>
<DD>Select frame number <VAR>n</VAR>. Recall that frame zero is the innermost
(currently executing) frame, frame one is the frame that called the
innermost one, and so on. The highest-numbered frame is the one for
<CODE>main</CODE>.
<P>
<DT><CODE>frame <VAR>addr</VAR></CODE>
<DD><DT><CODE>f <VAR>addr</VAR></CODE>
<DD>Select the frame at address <VAR>addr</VAR>. This is useful mainly if the
chaining of stack frames has been damaged by a bug, making it
impossible for GDB to assign numbers properly to all frames. In
addition, this can be useful when your program has multiple stacks and
switches between them.
<P>
On the SPARC architecture, <CODE>frame</CODE> needs two addresses to
select an arbitrary frame: a frame pointer and a stack pointer.
</P><P>
On the MIPS and Alpha architecture, it needs two addresses: a stack
pointer and a program counter.
</P><P>
On the 29k architecture, it needs three addresses: a register stack
pointer, a program counter, and a memory stack pointer.
</P><P>
<A NAME="IDX314"></A>
<DT><CODE>up <VAR>n</VAR></CODE>
<DD>Move <VAR>n</VAR> frames up the stack. For positive numbers <VAR>n</VAR>, this
advances toward the outermost frame, to higher frame numbers, to frames
that have existed longer. <VAR>n</VAR> defaults to one.
<P>
<A NAME="IDX315"></A>
<A NAME="IDX316"></A>
<DT><CODE>down <VAR>n</VAR></CODE>
<DD>Move <VAR>n</VAR> frames down the stack. For positive numbers <VAR>n</VAR>, this
advances toward the innermost frame, to lower frame numbers, to frames
that were created more recently. <VAR>n</VAR> defaults to one. You may
abbreviate <CODE>down</CODE> as <CODE>do</CODE>.
</DL>
<P>
All of these commands end by printing two lines of output describing the
frame. The first line shows the frame number, the function name, the
arguments, and the source file and line number of execution in that
frame. The second line shows the text of that source line.
</P><P>
For example:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) up
#1 0x22f0 in main (argc=1, argv=0xf7fffbf4, env=0xf7fffbfc)
at env.c:10
10 read_input_file (argv[i]);
</FONT></pre></td></tr></table></P><P>
After such a printout, the <CODE>list</CODE> command with no arguments
prints ten lines centered on the point of execution in the frame.
You can also edit the program at the point of execution with your favorite
editing program by typing <CODE>edit</CODE>.
See section <A HREF="gdb_8.html#SEC52">Printing Source Lines</A>,
for details.
</P><P>
<DL COMPACT>
<A NAME="IDX317"></A>
<A NAME="IDX318"></A>
<DT><CODE>up-silently <VAR>n</VAR></CODE>
<DD><DT><CODE>down-silently <VAR>n</VAR></CODE>
<DD>These two commands are variants of <CODE>up</CODE> and <CODE>down</CODE>,
respectively; they differ in that they do their work silently, without
causing display of the new frame. They are intended primarily for use
in GDB command scripts, where the output might be unnecessary and
distracting.
</DL>
<P>
<A NAME="Frame Info"></A>
<HR SIZE="6">
<A NAME="SEC50"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC49"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.4 Information About a Frame </H2>
<!--docid::SEC50::-->
<P>
There are several other commands to print information about the selected
stack frame.
</P><P>
<DL COMPACT>
<DT><CODE>frame</CODE>
<DD><DT><CODE>f</CODE>
<DD>When used without any argument, this command does not change which
frame is selected, but prints a brief description of the currently
selected stack frame. It can be abbreviated <CODE>f</CODE>. With an
argument, this command is used to select a stack frame.
See section <A HREF="gdb_7.html#SEC49">Selecting a Frame</A>.
<P>
<A NAME="IDX319"></A>
<A NAME="IDX320"></A>
<DT><CODE>info frame</CODE>
<DD><DT><CODE>info f</CODE>
<DD>This command prints a verbose description of the selected stack frame,
including:
<P>
<UL>
<LI>
the address of the frame
<LI>
the address of the next frame down (called by this frame)
<LI>
the address of the next frame up (caller of this frame)
<LI>
the language in which the source code corresponding to this frame is written
<LI>
the address of the frame's arguments
<LI>
the address of the frame's local variables
<LI>
the program counter saved in it (the address of execution in the caller frame)
<LI>
which registers were saved in the frame
</UL>
<P>
The verbose description is useful when
something has gone wrong that has made the stack format fail to fit
the usual conventions.
</P><P>
<DT><CODE>info frame <VAR>addr</VAR></CODE>
<DD><DT><CODE>info f <VAR>addr</VAR></CODE>
<DD>Print a verbose description of the frame at address <VAR>addr</VAR>, without
selecting that frame. The selected frame remains unchanged by this
command. This requires the same kind of address (more than one for some
architectures) that you specify in the <CODE>frame</CODE> command.
See section <A HREF="gdb_7.html#SEC49">Selecting a Frame</A>.
<P>
<A NAME="IDX321"></A>
<DT><CODE>info args</CODE>
<DD>Print the arguments of the selected frame, each on a separate line.
<P>
<DT><CODE>info locals</CODE>
<DD><A NAME="IDX322"></A>
Print the local variables of the selected frame, each on a separate
line. These are all variables (declared either static or automatic)
accessible at the point of execution of the selected frame.
<P>
<A NAME="IDX323"></A>
<A NAME="IDX324"></A>
<A NAME="IDX325"></A>
<DT><CODE>info catch</CODE>
<DD>Print a list of all the exception handlers that are active in the
current stack frame at the current point of execution. To see other
exception handlers, visit the associated frame (using the <CODE>up</CODE>,
<CODE>down</CODE>, or <CODE>frame</CODE> commands); then type <CODE>info catch</CODE>.
See section <A HREF="gdb_6.html#SEC35">Setting Catchpoints</A>.
<P>
</DL>
<P>
<A NAME="Source"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC46"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,813 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Source</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Source">
<META NAME="keywords" CONTENT="Debugging with GDB: Source">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC51"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_7.html#SEC50"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC52"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 7. Examining Source Files </H1>
<!--docid::SEC51::-->
<P>
GDB can print parts of your program's source, since the debugging
information recorded in the program tells GDB what source files were
used to build it. When your program stops, GDB spontaneously prints
the line where it stopped. Likewise, when you select a stack frame
(see section <A HREF="gdb_7.html#SEC49">Selecting a Frame</A>), GDB prints the line where
execution in that frame has stopped. You can print other portions of
source files by explicit command.
</P><P>
If you use GDB through its GNU Emacs interface, you may
prefer to use Emacs facilities to view source; see <A HREF="gdb_24.html#SEC241">Using GDB under GNU Emacs</A>.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Printing source lines</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify code locations</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC54">7.3 Editing Source Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Editing source files</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Searching source files</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying source directories</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Source and machine code</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="List"></A>
<HR SIZE="6">
<A NAME="SEC52"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC53"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.1 Printing Source Lines </H2>
<!--docid::SEC52::-->
<P>
<A NAME="IDX326"></A>
<A NAME="IDX327"></A>
To print lines from a source file, use the <CODE>list</CODE> command
(abbreviated <CODE>l</CODE>). By default, ten lines are printed.
There are several ways to specify what part of the file you want to
print; see <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>, for the full list.
</P><P>
Here are the forms of the <CODE>list</CODE> command most commonly used:
</P><P>
<DL COMPACT>
<DT><CODE>list <VAR>linenum</VAR></CODE>
<DD>Print lines centered around line number <VAR>linenum</VAR> in the
current source file.
<P>
<DT><CODE>list <VAR>function</VAR></CODE>
<DD>Print lines centered around the beginning of function
<VAR>function</VAR>.
<P>
<DT><CODE>list</CODE>
<DD>Print more lines. If the last lines printed were printed with a
<CODE>list</CODE> command, this prints lines following the last lines
printed; however, if the last line printed was a solitary line printed
as part of displaying a stack frame (see section <A HREF="gdb_7.html#SEC46">Examining the Stack</A>), this prints lines centered around that line.
<P>
<DT><CODE>list -</CODE>
<DD>Print lines just before the lines last printed.
</DL>
<P>
<A NAME="IDX328"></A>
By default, GDB prints ten source lines with any of these forms of
the <CODE>list</CODE> command. You can change this using <CODE>set listsize</CODE>:
</P><P>
<DL COMPACT>
<A NAME="IDX329"></A>
<DT><CODE>set listsize <VAR>count</VAR></CODE>
<DD>Make the <CODE>list</CODE> command display <VAR>count</VAR> source lines (unless
the <CODE>list</CODE> argument explicitly specifies some other number).
<P>
<A NAME="IDX330"></A>
<DT><CODE>show listsize</CODE>
<DD>Display the number of lines that <CODE>list</CODE> prints.
</DL>
<P>
Repeating a <CODE>list</CODE> command with <KBD>RET</KBD> discards the argument,
so it is equivalent to typing just <CODE>list</CODE>. This is more useful
than listing the same lines again. An exception is made for an
argument of <SAMP>`-'</SAMP>; that argument is preserved in repetition so that
each repetition moves up in the source file.
</P><P>
In general, the <CODE>list</CODE> command expects you to supply zero, one or two
<EM>linespecs</EM>. Linespecs specify source lines; there are several ways
of writing them (see section <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>), but the effect is always
to specify some source line.
</P><P>
Here is a complete description of the possible arguments for <CODE>list</CODE>:
</P><P>
<DL COMPACT>
<DT><CODE>list <VAR>linespec</VAR></CODE>
<DD>Print lines centered around the line specified by <VAR>linespec</VAR>.
<P>
<DT><CODE>list <VAR>first</VAR>,<VAR>last</VAR></CODE>
<DD>Print lines from <VAR>first</VAR> to <VAR>last</VAR>. Both arguments are
linespecs. When a <CODE>list</CODE> command has two linespecs, and the
source file of the second linespec is omitted, this refers to
the same source file as the first linespec.
<P>
<DT><CODE>list ,<VAR>last</VAR></CODE>
<DD>Print lines ending with <VAR>last</VAR>.
<P>
<DT><CODE>list <VAR>first</VAR>,</CODE>
<DD>Print lines starting with <VAR>first</VAR>.
<P>
<DT><CODE>list +</CODE>
<DD>Print lines just after the lines last printed.
<P>
<DT><CODE>list -</CODE>
<DD>Print lines just before the lines last printed.
<P>
<DT><CODE>list</CODE>
<DD>As described in the preceding table.
</DL>
<P>
<A NAME="Specify Location"></A>
<HR SIZE="6">
<A NAME="SEC53"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC52"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC54"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC54"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.2 Specifying a Location </H2>
<!--docid::SEC53::-->
<P>
Several GDB commands accept arguments that specify a location
of your program's code. Since GDB is a source-level
debugger, a location usually specifies some line in the source code;
for that reason, locations are also known as <EM>linespecs</EM>.
</P><P>
Here are all the different ways of specifying a code location that
GDB understands:
</P><P>
<DL COMPACT>
<DT><CODE><VAR>linenum</VAR></CODE>
<DD>Specifies the line number <VAR>linenum</VAR> of the current source file.
<P>
<DT><CODE>-<VAR>offset</VAR></CODE>
<DD><DT><CODE>+<VAR>offset</VAR></CODE>
<DD>Specifies the line <VAR>offset</VAR> lines before or after the <EM>current
line</EM>. For the <CODE>list</CODE> command, the current line is the last one
printed; for the breakpoint commands, this is the line at which
execution stopped in the currently selected <EM>stack frame</EM>
(see section <A HREF="gdb_7.html#SEC47">Frames</A>, for a description of stack frames.) When
used as the second of the two linespecs in a <CODE>list</CODE> command,
this specifies the line <VAR>offset</VAR> lines up or down from the first
linespec.
<P>
<DT><CODE><VAR>filename</VAR>:<VAR>linenum</VAR></CODE>
<DD>Specifies the line <VAR>linenum</VAR> in the source file <VAR>filename</VAR>.
<P>
<DT><CODE><VAR>function</VAR></CODE>
<DD>Specifies the line that begins the body of the function <VAR>function</VAR>.
For example, in C, this is the line with the open brace.
<P>
<DT><CODE><VAR>filename</VAR>:<VAR>function</VAR></CODE>
<DD>Specifies the line that begins the body of the function <VAR>function</VAR>
in the file <VAR>filename</VAR>. You only need the file name with a
function name to avoid ambiguity when there are identically named
functions in different source files.
<P>
<DT><CODE>*<VAR>address</VAR></CODE>
<DD>Specifies the program address <VAR>address</VAR>. For line-oriented
commands, such as <CODE>list</CODE> and <CODE>edit</CODE>, this specifies a source
line that contains <VAR>address</VAR>. For <CODE>break</CODE> and other
breakpoint oriented commands, this can be used to set breakpoints in
parts of your program which do not have debugging information or
source files.
<P>
Here <VAR>address</VAR> may be any expression valid in the current working
language (see section <A HREF="gdb_13.html#SEC102">working language</A>) that specifies a code
address. In addition, as a convenience, GDB extends the
semantics of expressions used in locations to cover the situations
that frequently happen during debugging. Here are the various forms
of <VAR>address</VAR>:
</P><P>
<DL COMPACT>
<DT><CODE><VAR>expression</VAR></CODE>
<DD>Any expression valid in the current working language.
<P>
<DT><CODE><VAR>funcaddr</VAR></CODE>
<DD>An address of a function or procedure derived from its name. In C,
C<TT>++</TT>, Java, Objective-C, Fortran, minimal, and assembly, this is
simply the function's name <VAR>function</VAR> (and actually a special case
of a valid expression). In Pascal and Modula-2, this is
<CODE>&#38;<VAR>function</VAR></CODE>. In Ada, this is <CODE><VAR>function</VAR>'Address</CODE>
(although the Pascal form also works).
<P>
This form specifies the address of the function's first instruction,
before the stack frame and arguments have been set up.
</P><P>
<DT><CODE>'<VAR>filename</VAR>'::<VAR>funcaddr</VAR></CODE>
<DD>Like <VAR>funcaddr</VAR> above, but also specifies the name of the source
file explicitly. This is useful if the name of the function does not
specify the function unambiguously, e.g., if there are several
functions with identical names in different source files.
</DL>
<P>
</DL>
<P>
<A NAME="Edit"></A>
<HR SIZE="6">
<A NAME="SEC54"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC53"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC55"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.3 Editing Source Files </H2>
<!--docid::SEC54::-->
<P>
<A NAME="IDX331"></A>
<A NAME="IDX332"></A>
To edit the lines in a source file, use the <CODE>edit</CODE> command.
The editing program of your choice
is invoked with the current line set to
the active line in the program.
Alternatively, there are several ways to specify what part of the file you
want to print if you want to see other parts of the program:
</P><P>
<DL COMPACT>
<DT><CODE>edit <VAR>location</VAR></CODE>
<DD>Edit the source file specified by <CODE>location</CODE>. Editing starts at
that <VAR>location</VAR>, e.g., at the specified source line of the
specified file. See section <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>, for all the possible forms
of the <VAR>location</VAR> argument; here are the forms of the <CODE>edit</CODE>
command most commonly used:
<P>
<DL COMPACT>
<DT><CODE>edit <VAR>number</VAR></CODE>
<DD>Edit the current source file with <VAR>number</VAR> as the active line number.
<P>
<DT><CODE>edit <VAR>function</VAR></CODE>
<DD>Edit the file containing <VAR>function</VAR> at the beginning of its definition.
</DL>
<P>
</DL>
<P>
<HR SIZE="6">
<A NAME="SEC55"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC54"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC54"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 7.3.1 Choosing your Editor </H3>
<!--docid::SEC55::-->
You can customize GDB to use any editor you want
<A NAME="DOCF4" HREF="gdb_fot.html#FOOT4">(4)</A>.
By default, it is <TT>`/bin/ex'</TT>, but you can change this
by setting the environment variable <CODE>EDITOR</CODE> before using
GDB. For example, to configure GDB to use the
<CODE>vi</CODE> editor, you could use these commands with the <CODE>sh</CODE> shell:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>EDITOR=/usr/bin/vi
export EDITOR
gdb <small>...</small>
</FONT></pre></td></tr></table>or in the <CODE>csh</CODE> shell,
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>setenv EDITOR /usr/bin/vi
gdb <small>...</small>
</FONT></pre></td></tr></table><P>
<A NAME="Search"></A>
<HR SIZE="6">
<A NAME="SEC56"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC55"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC57"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC57"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.4 Searching Source Files </H2>
<!--docid::SEC56::-->
<P>
There are two commands for searching through the current source file for a
regular expression.
</P><P>
<DL COMPACT>
<A NAME="IDX333"></A>
<A NAME="IDX334"></A>
<DT><CODE>forward-search <VAR>regexp</VAR></CODE>
<DD><DT><CODE>search <VAR>regexp</VAR></CODE>
<DD>The command <SAMP>`forward-search <VAR>regexp</VAR>'</SAMP> checks each line,
starting with the one following the last line listed, for a match for
<VAR>regexp</VAR>. It lists the line that is found. You can use the
synonym <SAMP>`search <VAR>regexp</VAR>'</SAMP> or abbreviate the command name as
<CODE>fo</CODE>.
<P>
<A NAME="IDX335"></A>
<DT><CODE>reverse-search <VAR>regexp</VAR></CODE>
<DD>The command <SAMP>`reverse-search <VAR>regexp</VAR>'</SAMP> checks each line, starting
with the one before the last line listed and going backward, for a match
for <VAR>regexp</VAR>. It lists the line that is found. You can abbreviate
this command as <CODE>rev</CODE>.
</DL>
<P>
<A NAME="Source Path"></A>
<HR SIZE="6">
<A NAME="SEC57"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC56"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC58"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC58"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.5 Specifying Source Directories </H2>
<!--docid::SEC57::-->
<P>
<A NAME="IDX336"></A>
<A NAME="IDX337"></A>
Executable programs sometimes do not record the directories of the source
files from which they were compiled, just the names. Even when they do,
the directories could be moved between the compilation and your debugging
session. GDB has a list of directories to search for source files;
this is called the <EM>source path</EM>. Each time GDB wants a source file,
it tries all the directories in the list, in the order they are present
in the list, until it finds a file with the desired name.
</P><P>
For example, suppose an executable references the file
<TT>`/usr/src/foo-1.0/lib/foo.c'</TT>, and our source path is
<TT>`/mnt/cross'</TT>. The file is first looked up literally; if this
fails, <TT>`/mnt/cross/usr/src/foo-1.0/lib/foo.c'</TT> is tried; if this
fails, <TT>`/mnt/cross/foo.c'</TT> is opened; if this fails, an error
message is printed. GDB does not look up the parts of the
source file name, such as <TT>`/mnt/cross/src/foo-1.0/lib/foo.c'</TT>.
Likewise, the subdirectories of the source path are not searched: if
the source path is <TT>`/mnt/cross'</TT>, and the binary refers to
<TT>`foo.c'</TT>, GDB would not find it under
<TT>`/mnt/cross/usr/src/foo-1.0/lib'</TT>.
</P><P>
Plain file names, relative file names with leading directories, file
names containing dots, etc. are all treated as described above; for
instance, if the source path is <TT>`/mnt/cross'</TT>, and the source file
is recorded as <TT>`../lib/foo.c'</TT>, GDB would first try
<TT>`../lib/foo.c'</TT>, then <TT>`/mnt/cross/../lib/foo.c'</TT>, and after
that---<TT>`/mnt/cross/foo.c'</TT>.
</P><P>
Note that the executable search path is <EM>not</EM> used to locate the
source files.
</P><P>
Whenever you reset or rearrange the source path, GDB clears out
any information it has cached about where source files are found and where
each line is in the file.
</P><P>
<A NAME="IDX338"></A>
<A NAME="IDX339"></A>
When you start GDB, its source path includes only <SAMP>`cdir'</SAMP>
and <SAMP>`cwd'</SAMP>, in that order.
To add other directories, use the <CODE>directory</CODE> command.
</P><P>
The search path is used to find both program source files and GDB
script files (read using the <SAMP>`-command'</SAMP> option and <SAMP>`source'</SAMP> command).
</P><P>
In addition to the source path, GDB provides a set of commands
that manage a list of source path substitution rules. A <EM>substitution
rule</EM> specifies how to rewrite source directories stored in the program's
debug information in case the sources were moved to a different
directory between compilation and debugging. A rule is made of
two strings, the first specifying what needs to be rewritten in
the path, and the second specifying how it should be rewritten.
In <A HREF="gdb_8.html#set substitute-path">set substitute-path</A>, we name these two parts <VAR>from</VAR> and
<VAR>to</VAR> respectively. GDB does a simple string replacement
of <VAR>from</VAR> with <VAR>to</VAR> at the start of the directory part of the
source file name, and uses that result instead of the original file
name to look up the sources.
</P><P>
Using the previous example, suppose the <TT>`foo-1.0'</TT> tree has been
moved from <TT>`/usr/src'</TT> to <TT>`/mnt/cross'</TT>, then you can tell
GDB to replace <TT>`/usr/src'</TT> in all source path names with
<TT>`/mnt/cross'</TT>. The first lookup will then be
<TT>`/mnt/cross/foo-1.0/lib/foo.c'</TT> in place of the original location
of <TT>`/usr/src/foo-1.0/lib/foo.c'</TT>. To define a source path
substitution rule, use the <CODE>set substitute-path</CODE> command
(see <A HREF="gdb_8.html#set substitute-path">set substitute-path</A>).
</P><P>
To avoid unexpected substitution results, a rule is applied only if the
<VAR>from</VAR> part of the directory name ends at a directory separator.
For instance, a rule substituting <TT>`/usr/source'</TT> into
<TT>`/mnt/cross'</TT> will be applied to <TT>`/usr/source/foo-1.0'</TT> but
not to <TT>`/usr/sourceware/foo-2.0'</TT>. And because the substitution
is applied only at the beginning of the directory name, this rule will
not be applied to <TT>`/root/usr/source/baz.c'</TT> either.
</P><P>
In many cases, you can achieve the same result using the <CODE>directory</CODE>
command. However, <CODE>set substitute-path</CODE> can be more efficient in
the case where the sources are organized in a complex tree with multiple
subdirectories. With the <CODE>directory</CODE> command, you need to add each
subdirectory of your project. If you moved the entire tree while
preserving its internal organization, then <CODE>set substitute-path</CODE>
allows you to direct the debugger to all the sources with one single
command.
</P><P>
<CODE>set substitute-path</CODE> is also more than just a shortcut command.
The source path is only used if the file at the original location no
longer exists. On the other hand, <CODE>set substitute-path</CODE> modifies
the debugger behavior to look at the rewritten location instead. So, if
for any reason a source file that is not relevant to your executable is
located at the original location, a substitution rule is the only
method available to point GDB at the new location.
</P><P>
<DL COMPACT>
<DT><CODE>directory <VAR>dirname</VAR> <small>...</small></CODE>
<DD><DT><CODE>dir <VAR>dirname</VAR> <small>...</small></CODE>
<DD>Add directory <VAR>dirname</VAR> to the front of the source path. Several
directory names may be given to this command, separated by <SAMP>`:'</SAMP>
(<SAMP>`;'</SAMP> on MS-DOS and MS-Windows, where <SAMP>`:'</SAMP> usually appears as
part of absolute file names) or
whitespace. You may specify a directory that is already in the source
path; this moves it forward, so GDB searches it sooner.
<P>
<A NAME="IDX340"></A>
<A NAME="IDX341"></A>
<A NAME="IDX342"></A>
<A NAME="IDX343"></A>
<A NAME="IDX344"></A>
<A NAME="IDX345"></A>
<A NAME="IDX346"></A>
<A NAME="IDX347"></A>
<A NAME="IDX348"></A>
You can use the string <SAMP>`$cdir'</SAMP> to refer to the compilation
directory (if one is recorded), and <SAMP>`$cwd'</SAMP> to refer to the current
working directory. <SAMP>`$cwd'</SAMP> is not the same as <SAMP>`.'</SAMP>---the former
tracks the current working directory as it changes during your GDB
session, while the latter is immediately expanded to the current
directory at the time you add an entry to the source path.
</P><P>
<DT><CODE>directory</CODE>
<DD>Reset the source path to its default value (<SAMP>`$cdir:$cwd'</SAMP> on Unix systems). This requires confirmation.
<P>
<DT><CODE>show directories</CODE>
<DD><A NAME="IDX349"></A>
Print the source path: show which directories it contains.
<P>
<A NAME="set substitute-path"></A>
<DT><CODE>set substitute-path <VAR>from</VAR> <VAR>to</VAR></CODE>
<DD><A NAME="IDX350"></A>
Define a source path substitution rule, and add it at the end of the
current list of existing substitution rules. If a rule with the same
<VAR>from</VAR> was already defined, then the old rule is also deleted.
<P>
For example, if the file <TT>`/foo/bar/baz.c'</TT> was moved to
<TT>`/mnt/cross/baz.c'</TT>, then the command
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) set substitute-path /usr/src /mnt/cross
</FONT></pre></td></tr></table></P><P>
will tell GDB to replace <SAMP>`/usr/src'</SAMP> with
<SAMP>`/mnt/cross'</SAMP>, which will allow GDB to find the file
<TT>`baz.c'</TT> even though it was moved.
</P><P>
In the case when more than one substitution rule have been defined,
the rules are evaluated one by one in the order where they have been
defined. The first one matching, if any, is selected to perform
the substitution.
</P><P>
For instance, if we had entered the following commands:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) set substitute-path /usr/src/include /mnt/include
(gdb) set substitute-path /usr/src /mnt/src
</FONT></pre></td></tr></table></P><P>
GDB would then rewrite <TT>`/usr/src/include/defs.h'</TT> into
<TT>`/mnt/include/defs.h'</TT> by using the first rule. However, it would
use the second rule to rewrite <TT>`/usr/src/lib/foo.c'</TT> into
<TT>`/mnt/src/lib/foo.c'</TT>.
</P><P>
<DT><CODE>unset substitute-path [path]</CODE>
<DD><A NAME="IDX351"></A>
If a path is specified, search the current list of substitution rules
for a rule that would rewrite that path. Delete that rule if found.
A warning is emitted by the debugger if no rule could be found.
<P>
If no path is specified, then all substitution rules are deleted.
</P><P>
<DT><CODE>show substitute-path [path]</CODE>
<DD><A NAME="IDX352"></A>
If a path is specified, then print the source path substitution rule
which would rewrite that path, if any.
<P>
If no path is specified, then print all existing source path substitution
rules.
</P><P>
</DL>
<P>
If your source path is cluttered with directories that are no longer of
interest, GDB may sometimes cause confusion by finding the wrong
versions of source. You can correct the situation as follows:
</P><P>
<OL>
<LI>
Use <CODE>directory</CODE> with no argument to reset the source path to its default value.
<P>
<LI>
Use <CODE>directory</CODE> with suitable arguments to reinstall the
directories you want in the source path. You can add all the
directories in one command.
</OL>
<P>
<A NAME="Machine Code"></A>
<HR SIZE="6">
<A NAME="SEC58"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC57"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.6 Source and Machine Code </H2>
<!--docid::SEC58::-->
<P>
You can use the command <CODE>info line</CODE> to map source lines to program
addresses (and vice versa), and the command <CODE>disassemble</CODE> to display
a range of addresses as machine instructions. When run under GNU Emacs
mode, the <CODE>info line</CODE> command causes the arrow to point to the
line specified. Also, <CODE>info line</CODE> prints addresses in symbolic form as
well as hex.
</P><P>
<DL COMPACT>
<A NAME="IDX353"></A>
<DT><CODE>info line <VAR>linespec</VAR></CODE>
<DD>Print the starting and ending addresses of the compiled code for
source line <VAR>linespec</VAR>. You can specify source lines in any of
the ways documented in <A HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>.
</DL>
<P>
For example, we can use <CODE>info line</CODE> to discover the location of
the object code for the first line of function
<CODE>m4_changequote</CODE>:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info line m4_changequote
Line 895 of "builtin.c" starts at pc 0x634c and ends at 0x6350.
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX354"></A>
We can also inquire (using <CODE>*<VAR>addr</VAR></CODE> as the form for
<VAR>linespec</VAR>) what source line covers a particular address:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info line *0x63ff
Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404.
</FONT></pre></td></tr></table></P><P>
<A NAME="IDX355"></A>
<A NAME="IDX356"></A>
<A NAME="IDX357"></A>
After <CODE>info line</CODE>, the default address for the <CODE>x</CODE> command
is changed to the starting address of the line, so that <SAMP>`x/i'</SAMP> is
sufficient to begin examining the machine code (see section <A HREF="gdb_9.html#SEC64">Examining Memory</A>). Also, this address is saved as the value of the
convenience variable <CODE>$_</CODE> (see section <A HREF="gdb_9.html#SEC68">Convenience Variables</A>).
</P><P>
<DL COMPACT>
<A NAME="IDX358"></A>
<A NAME="IDX359"></A>
<A NAME="IDX360"></A>
<A NAME="IDX361"></A>
<A NAME="IDX362"></A>
<DT><CODE>disassemble</CODE>
<DD>This specialized command dumps a range of memory as machine
instructions. The default memory range is the function surrounding the
program counter of the selected frame. A single argument to this
command is a program counter value; GDB dumps the function
surrounding this value. Two arguments specify a range of addresses
(first inclusive, second exclusive) to dump.
</DL>
<P>
The following example shows the disassembly of a range of addresses of
HP PA-RISC 2.0 code:
</P><P>
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>(gdb) disas 0x32c4 0x32e4
Dump of assembler code from 0x32c4 to 0x32e4:
0x32c4 &#60;main+204&#62;: addil 0,dp
0x32c8 &#60;main+208&#62;: ldw 0x22c(sr0,r1),r26
0x32cc &#60;main+212&#62;: ldil 0x3000,r31
0x32d0 &#60;main+216&#62;: ble 0x3f8(sr4,r31)
0x32d4 &#60;main+220&#62;: ldo 0(r31),rp
0x32d8 &#60;main+224&#62;: addil -0x800,dp
0x32dc &#60;main+228&#62;: ldo 0x588(r1),r26
0x32e0 &#60;main+232&#62;: ldil 0x3000,r31
End of assembler dump.
</FONT></pre></td></tr></table></P><P>
Some architectures have more than one commonly-used set of instruction
mnemonics or other syntax.
</P><P>
For programs that were dynamically linked and use shared libraries,
instructions that call functions or branch to locations in the shared
libraries might show a seemingly bogus location--it's actually a
location of the relocation table. On some architectures, GDB
might be able to resolve these to actual function names.
</P><P>
<DL COMPACT>
<A NAME="IDX363"></A>
<A NAME="IDX364"></A>
<A NAME="IDX365"></A>
<DT><CODE>set disassembly-flavor <VAR>instruction-set</VAR></CODE>
<DD>Select the instruction set to use when disassembling the
program via the <CODE>disassemble</CODE> or <CODE>x/i</CODE> commands.
<P>
Currently this command is only defined for the Intel x86 family. You
can set <VAR>instruction-set</VAR> to either <CODE>intel</CODE> or <CODE>att</CODE>.
The default is <CODE>att</CODE>, the AT&#38;T flavor used by default by Unix
assemblers for x86-based targets.
</P><P>
<A NAME="IDX366"></A>
<DT><CODE>show disassembly-flavor</CODE>
<DD>Show the current setting of the disassembly flavor.
</DL>
<P>
<A NAME="Data"></A>
<HR SIZE="6">
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_8.html#SEC51"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_9.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,220 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: About this document</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: About this document">
<META NAME="keywords" CONTENT="Debugging with GDB: About this document">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC_About"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
The buttons in the navigation panels have the following meaning:
<P></P>
<table border = "1">
<TR>
<TH> Button </TH>
<TH> Name </TH>
<TH> Go to </TH>
<TH> From 1.2.3 go to</TH>
</TR>
<TR>
<TD ALIGN="CENTER">
[ &lt; ] </TD>
<TD ALIGN="CENTER">
Back
</TD>
<TD>
previous section in reading order
</TD>
<TD>
1.2.2
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ &gt; ] </TD>
<TD ALIGN="CENTER">
Forward
</TD>
<TD>
next section in reading order
</TD>
<TD>
1.2.4
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ &lt;&lt; ] </TD>
<TD ALIGN="CENTER">
FastBack
</TD>
<TD>
previous or up-and-previous section
</TD>
<TD>
1.1
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ Up ] </TD>
<TD ALIGN="CENTER">
Up
</TD>
<TD>
up section
</TD>
<TD>
1.2
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ &gt;&gt; ] </TD>
<TD ALIGN="CENTER">
FastForward
</TD>
<TD>
next or up-and-next section
</TD>
<TD>
1.3
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Top] </TD>
<TD ALIGN="CENTER">
Top
</TD>
<TD>
cover (top) of document
</TD>
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Contents] </TD>
<TD ALIGN="CENTER">
Contents
</TD>
<TD>
table of contents
</TD>
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[Index] </TD>
<TD ALIGN="CENTER">
Index
</TD>
<TD>
concept index
</TD>
<TD>
&nbsp;
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
[ ? ] </TD>
<TD ALIGN="CENTER">
About
</TD>
<TD>
this page
</TD>
<TD>
&nbsp;
</TD>
</TR>
</TABLE>
<P></P>
where the <STRONG> Example </STRONG> assumes that the current position
is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
the following structure:
<UL>
<LI> 1. Section One </LI>
<UL>
<LI>1.1 Subsection One-One</LI>
<UL>
<LI> ... </LI>
</UL>
<LI>1.2 Subsection One-Two</LI>
<UL>
<LI>1.2.1 Subsubsection One-Two-One
</LI><LI>1.2.2 Subsubsection One-Two-Two
</LI><LI>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp; <STRONG>
&lt;== Current Position </STRONG>
</LI><LI>1.2.4 Subsubsection One-Two-Four
</LI></UL>
<LI>1.3 Subsection One-Three</LI>
<UL>
<LI> ... </LI>
</UL>
<LI>1.4 Subsection One-Four</LI>
</UL>
</UL>
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,108 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Footnotes</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Footnotes">
<META NAME="keywords" CONTENT="Debugging with GDB: Footnotes">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="gdb_fot.html"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Footnotes</H1>
<H3><A NAME="FOOT1" HREF="gdb_3.html#DOCF1">(1)</A></H3>
<P>On
DOS/Windows systems, the home directory is the one pointed to by the
<CODE>HOME</CODE> environment variable.
<H3><A NAME="FOOT2" HREF="gdb_5.html#DOCF2">(2)</A></H3>
<P>Currently, only
GNU/Linux.
<H3><A NAME="FOOT3" HREF="gdb_7.html#DOCF3">(3)</A></H3>
<P>
Note that embedded programs (the so-called "free-standing"
environment) are not required to have a <CODE>main</CODE> function as the
entry point. They could even have multiple entry points.
<H3><A NAME="FOOT4" HREF="gdb_8.html#DOCF4">(4)</A></H3>
<P>
The only restriction is that your editor (say <CODE>ex</CODE>), recognizes the
following command-line syntax:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>ex +<VAR>number</VAR> file
</FONT></pre></td></tr></table>The optional numeric value +<VAR>number</VAR> specifies the number of the line in
the file where to start editing.
<H3><A NAME="FOOT5" HREF="gdb_9.html#DOCF5">(5)</A></H3>
<P><SAMP>`b'</SAMP> cannot be used because these format letters are also
used with the <CODE>x</CODE> command, where <SAMP>`b'</SAMP> stands for "byte";
see <A HREF="gdb_9.html#SEC64">Examining Memory</A>.
<H3><A NAME="FOOT6" HREF="gdb_9.html#DOCF6">(6)</A></H3>
<P>This is a way of removing
one word from the stack, on machines where stacks grow downward in
memory (most machines, nowadays). This assumes that the innermost
stack frame is selected; setting <CODE>$sp</CODE> is not allowed when other
stack frames are selected. To pop entire frames off the stack,
regardless of machine architecture, use <CODE>return</CODE>;
see <A HREF="gdb_15.html#SEC151">Returning from a Function</A>.
<H3><A NAME="FOOT7" HREF="gdb_18.html#DOCF7">(7)</A></H3>
<P>If you choose a port number that
conflicts with another service, <CODE>gdbserver</CODE> prints an error message
and exits.
<H3><A NAME="FOOT8" HREF="gdb_30.html#DOCF8">(8)</A></H3>
<P>In
<TT>`gdb-6.8/gdb/refcard.ps'</TT> of the version 6.8
release.
<H3><A NAME="FOOT9" HREF="gdb_33.html#DOCF9">(9)</A></H3>
<P>The <SAMP>`qP'</SAMP> and <SAMP>`qL'</SAMP>
packets predate these conventions, and have arguments without any terminator
for the packet name; we suspect they are in widespread use in places that
are difficult to upgrade. The <SAMP>`qC'</SAMP> packet has no arguments, but some
existing stubs (e.g. RedBoot) are known to not check for the end of the
packet.
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,141 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Short Table of Contents</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Short Table of Contents">
<META NAME="keywords" CONTENT="Debugging with GDB: Short Table of Contents">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC_OVERVIEW"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Short Table of Contents</H1>
<BLOCKQUOTE>
<A NAME="TOC1" HREF="gdb_1.html#SEC1">Summary of GDB</A>
<BR>
<A NAME="TOC5" HREF="gdb_2.html#SEC5">1. A Sample GDB Session</A>
<BR>
<A NAME="TOC6" HREF="gdb_3.html#SEC6">2. Getting In and Out of GDB</A>
<BR>
<A NAME="TOC14" HREF="gdb_4.html#SEC14">3. GDB Commands</A>
<BR>
<A NAME="TOC18" HREF="gdb_5.html#SEC18">4. Running Programs Under GDB</A>
<BR>
<A NAME="TOC31" HREF="gdb_6.html#SEC31">5. Stopping and Continuing</A>
<BR>
<A NAME="TOC46" HREF="gdb_7.html#SEC46">6. Examining the Stack</A>
<BR>
<A NAME="TOC51" HREF="gdb_8.html#SEC51">7. Examining Source Files</A>
<BR>
<A NAME="TOC59" HREF="gdb_9.html#SEC59">8. Examining Data</A>
<BR>
<A NAME="TOC83" HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A>
<BR>
<A NAME="TOC84" HREF="gdb_11.html#SEC84">10. Tracepoints</A>
<BR>
<A NAME="TOC97" HREF="gdb_12.html#SEC97">11. Debugging Programs That Use Overlays</A>
<BR>
<A NAME="TOC102" HREF="gdb_13.html#SEC102">12. Using GDB with Different Languages</A>
<BR>
<A NAME="TOC146" HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A>
<BR>
<A NAME="TOC147" HREF="gdb_15.html#SEC147">14. Altering Execution</A>
<BR>
<A NAME="TOC154" HREF="gdb_16.html#SEC154">15. GDB Files</A>
<BR>
<A NAME="TOC158" HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A>
<BR>
<A NAME="TOC162" HREF="gdb_18.html#SEC162">17. Debugging Remote Programs</A>
<BR>
<A NAME="TOC177" HREF="gdb_19.html#SEC177">18. Configuration-Specific Information</A>
<BR>
<A NAME="TOC220" HREF="gdb_20.html#SEC220">19. Controlling GDB</A>
<BR>
<A NAME="TOC229" HREF="gdb_21.html#SEC229">20. Canned Sequences of Commands</A>
<BR>
<A NAME="TOC234" HREF="gdb_22.html#SEC234">21. Command Interpreters</A>
<BR>
<A NAME="TOC235" HREF="gdb_23.html#SEC235">22. GDB Text User Interface</A>
<BR>
<A NAME="TOC241" HREF="gdb_24.html#SEC241">23. Using GDB under GNU Emacs</A>
<BR>
<A NAME="TOC242" HREF="gdb_25.html#SEC242">24. The GDB/MI Interface</A>
<BR>
<A NAME="TOC646" HREF="gdb_26.html#SEC646">25. GDB Annotations</A>
<BR>
<A NAME="TOC654" HREF="gdb_27.html#SEC654">26. Reporting Bugs in GDB</A>
<BR>
<A NAME="TOC657" HREF="gdb_28.html#SEC657">27. Command Line Editing</A>
<BR>
<A NAME="TOC679" HREF="gdb_29.html#SEC679">28. Using History Interactively</A>
<BR>
<A NAME="TOC684" HREF="gdb_30.html#SEC684">A. Formatting Documentation</A>
<BR>
<A NAME="TOC685" HREF="gdb_31.html#SEC685">B. Installing GDB</A>
<BR>
<A NAME="TOC693" HREF="gdb_32.html#SEC693">C. Maintenance Commands</A>
<BR>
<A NAME="TOC694" HREF="gdb_33.html#SEC694">D. GDB Remote Serial Protocol</A>
<BR>
<A NAME="TOC738" HREF="gdb_34.html#SEC738">E. The GDB Agent Expression Mechanism</A>
<BR>
<A NAME="TOC745" HREF="gdb_35.html#SEC745">F. Target Descriptions</A>
<BR>
<A NAME="TOC759" HREF="gdb_36.html#SEC759">G. GNU GENERAL PUBLIC LICENSE</A>
<BR>
<A NAME="TOC762" HREF="gdb_37.html#SEC762">H. GNU Free Documentation License</A>
<BR>
<A NAME="TOC764" HREF="gdb_38.html#SEC764">Index</A>
<BR>
</BLOCKQUOTE>
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>

View file

@ -0,0 +1,970 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 27 2008 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HEAD>
<TITLE>Debugging with GDB: Table of Contents</TITLE>
<META NAME="description" CONTENT="Debugging with GDB: Table of Contents">
<META NAME="keywords" CONTENT="Debugging with GDB: Table of Contents">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC_Contents"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Table of Contents</H1>
<UL>
<A NAME="TOC1" HREF="gdb_1.html#SEC1">Summary of GDB</A>
<BR>
<UL>
<A NAME="TOC2" HREF="gdb_1.html#SEC2">Free Software</A>
<BR>
<A NAME="TOC3" HREF="gdb_1.html#SEC3">Free Software Needs Free Documentation</A>
<BR>
<A NAME="TOC4" HREF="gdb_1.html#SEC4">Contributors to GDB</A>
<BR>
</UL>
<A NAME="TOC5" HREF="gdb_2.html#SEC5">1. A Sample GDB Session</A>
<BR>
<A NAME="TOC6" HREF="gdb_3.html#SEC6">2. Getting In and Out of GDB</A>
<BR>
<UL>
<A NAME="TOC7" HREF="gdb_3.html#SEC7">2.1 Invoking GDB</A>
<BR>
<UL>
<A NAME="TOC8" HREF="gdb_3.html#SEC8">2.1.1 Choosing Files</A>
<BR>
<A NAME="TOC9" HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A>
<BR>
<A NAME="TOC10" HREF="gdb_3.html#SEC10">2.1.3 What GDB Does During Startup</A>
<BR>
</UL>
<A NAME="TOC11" HREF="gdb_3.html#SEC11">2.2 Quitting GDB</A>
<BR>
<A NAME="TOC12" HREF="gdb_3.html#SEC12">2.3 Shell Commands</A>
<BR>
<A NAME="TOC13" HREF="gdb_3.html#SEC13">2.4 Logging Output</A>
<BR>
</UL>
<A NAME="TOC14" HREF="gdb_4.html#SEC14">3. GDB Commands</A>
<BR>
<UL>
<A NAME="TOC15" HREF="gdb_4.html#SEC15">3.1 Command Syntax</A>
<BR>
<A NAME="TOC16" HREF="gdb_4.html#SEC16">3.2 Command Completion</A>
<BR>
<A NAME="TOC17" HREF="gdb_4.html#SEC17">3.3 Getting Help</A>
<BR>
</UL>
<A NAME="TOC18" HREF="gdb_5.html#SEC18">4. Running Programs Under GDB</A>
<BR>
<UL>
<A NAME="TOC19" HREF="gdb_5.html#SEC19">4.1 Compiling for Debugging</A>
<BR>
<A NAME="TOC20" HREF="gdb_5.html#SEC20">4.2 Starting your Program</A>
<BR>
<A NAME="TOC21" HREF="gdb_5.html#SEC21">4.3 Your Program's Arguments</A>
<BR>
<A NAME="TOC22" HREF="gdb_5.html#SEC22">4.4 Your Program's Environment</A>
<BR>
<A NAME="TOC23" HREF="gdb_5.html#SEC23">4.5 Your Program's Working Directory</A>
<BR>
<A NAME="TOC24" HREF="gdb_5.html#SEC24">4.6 Your Program's Input and Output</A>
<BR>
<A NAME="TOC25" HREF="gdb_5.html#SEC25">4.7 Debugging an Already-running Process</A>
<BR>
<A NAME="TOC26" HREF="gdb_5.html#SEC26">4.8 Killing the Child Process</A>
<BR>
<A NAME="TOC27" HREF="gdb_5.html#SEC27">4.9 Debugging Programs with Multiple Threads</A>
<BR>
<A NAME="TOC28" HREF="gdb_5.html#SEC28">4.10 Debugging Programs with Multiple Processes</A>
<BR>
<A NAME="TOC29" HREF="gdb_5.html#SEC29">4.11 Setting a <EM>Bookmark</EM> to Return to Later</A>
<BR>
<UL>
<A NAME="TOC30" HREF="gdb_5.html#SEC30">4.11.1 A Non-obvious Benefit of Using Checkpoints</A>
<BR>
</UL>
</UL>
<A NAME="TOC31" HREF="gdb_6.html#SEC31">5. Stopping and Continuing</A>
<BR>
<UL>
<A NAME="TOC32" HREF="gdb_6.html#SEC32">5.1 Breakpoints, Watchpoints, and Catchpoints</A>
<BR>
<UL>
<A NAME="TOC33" HREF="gdb_6.html#SEC33">5.1.1 Setting Breakpoints</A>
<BR>
<A NAME="TOC34" HREF="gdb_6.html#SEC34">5.1.2 Setting Watchpoints</A>
<BR>
<A NAME="TOC35" HREF="gdb_6.html#SEC35">5.1.3 Setting Catchpoints</A>
<BR>
<A NAME="TOC36" HREF="gdb_6.html#SEC36">5.1.4 Deleting Breakpoints</A>
<BR>
<A NAME="TOC37" HREF="gdb_6.html#SEC37">5.1.5 Disabling Breakpoints</A>
<BR>
<A NAME="TOC38" HREF="gdb_6.html#SEC38">5.1.6 Break Conditions</A>
<BR>
<A NAME="TOC39" HREF="gdb_6.html#SEC39">5.1.7 Breakpoint Command Lists</A>
<BR>
<A NAME="TOC40" HREF="gdb_6.html#SEC40">5.1.8 Breakpoint Menus</A>
<BR>
<A NAME="TOC41" HREF="gdb_6.html#SEC41">5.1.9 "Cannot insert breakpoints"</A>
<BR>
<A NAME="TOC42" HREF="gdb_6.html#SEC42">5.1.10 "Breakpoint address adjusted..."</A>
<BR>
</UL>
<A NAME="TOC43" HREF="gdb_6.html#SEC43">5.2 Continuing and Stepping</A>
<BR>
<A NAME="TOC44" HREF="gdb_6.html#SEC44">5.3 Signals</A>
<BR>
<A NAME="TOC45" HREF="gdb_6.html#SEC45">5.4 Stopping and Starting Multi-thread Programs</A>
<BR>
</UL>
<A NAME="TOC46" HREF="gdb_7.html#SEC46">6. Examining the Stack</A>
<BR>
<UL>
<A NAME="TOC47" HREF="gdb_7.html#SEC47">6.1 Stack Frames</A>
<BR>
<A NAME="TOC48" HREF="gdb_7.html#SEC48">6.2 Backtraces</A>
<BR>
<A NAME="TOC49" HREF="gdb_7.html#SEC49">6.3 Selecting a Frame</A>
<BR>
<A NAME="TOC50" HREF="gdb_7.html#SEC50">6.4 Information About a Frame</A>
<BR>
</UL>
<A NAME="TOC51" HREF="gdb_8.html#SEC51">7. Examining Source Files</A>
<BR>
<UL>
<A NAME="TOC52" HREF="gdb_8.html#SEC52">7.1 Printing Source Lines</A>
<BR>
<A NAME="TOC53" HREF="gdb_8.html#SEC53">7.2 Specifying a Location</A>
<BR>
<A NAME="TOC54" HREF="gdb_8.html#SEC54">7.3 Editing Source Files</A>
<BR>
<UL>
<A NAME="TOC55" HREF="gdb_8.html#SEC55">7.3.1 Choosing your Editor</A>
<BR>
</UL>
<A NAME="TOC56" HREF="gdb_8.html#SEC56">7.4 Searching Source Files</A>
<BR>
<A NAME="TOC57" HREF="gdb_8.html#SEC57">7.5 Specifying Source Directories</A>
<BR>
<A NAME="TOC58" HREF="gdb_8.html#SEC58">7.6 Source and Machine Code</A>
<BR>
</UL>
<A NAME="TOC59" HREF="gdb_9.html#SEC59">8. Examining Data</A>
<BR>
<UL>
<A NAME="TOC60" HREF="gdb_9.html#SEC60">8.1 Expressions</A>
<BR>
<A NAME="TOC61" HREF="gdb_9.html#SEC61">8.2 Program Variables</A>
<BR>
<A NAME="TOC62" HREF="gdb_9.html#SEC62">8.3 Artificial Arrays</A>
<BR>
<A NAME="TOC63" HREF="gdb_9.html#SEC63">8.4 Output Formats</A>
<BR>
<A NAME="TOC64" HREF="gdb_9.html#SEC64">8.5 Examining Memory</A>
<BR>
<A NAME="TOC65" HREF="gdb_9.html#SEC65">8.6 Automatic Display</A>
<BR>
<A NAME="TOC66" HREF="gdb_9.html#SEC66">8.7 Print Settings</A>
<BR>
<A NAME="TOC67" HREF="gdb_9.html#SEC67">8.8 Value History</A>
<BR>
<A NAME="TOC68" HREF="gdb_9.html#SEC68">8.9 Convenience Variables</A>
<BR>
<A NAME="TOC69" HREF="gdb_9.html#SEC69">8.10 Registers</A>
<BR>
<A NAME="TOC70" HREF="gdb_9.html#SEC70">8.11 Floating Point Hardware</A>
<BR>
<A NAME="TOC71" HREF="gdb_9.html#SEC71">8.12 Vector Unit</A>
<BR>
<A NAME="TOC72" HREF="gdb_9.html#SEC72">8.13 Operating System Auxiliary Information</A>
<BR>
<A NAME="TOC73" HREF="gdb_9.html#SEC73">8.14 Memory Region Attributes</A>
<BR>
<UL>
<A NAME="TOC74" HREF="gdb_9.html#SEC74">8.14.1 Attributes</A>
<BR>
<UL>
<A NAME="TOC75" HREF="gdb_9.html#SEC75">8.14.1.1 Memory Access Mode</A>
<BR>
<A NAME="TOC76" HREF="gdb_9.html#SEC76">8.14.1.2 Memory Access Size</A>
<BR>
<A NAME="TOC77" HREF="gdb_9.html#SEC77">8.14.1.3 Data Cache</A>
<BR>
</UL>
<A NAME="TOC78" HREF="gdb_9.html#SEC78">8.14.2 Memory Access Checking</A>
<BR>
</UL>
<A NAME="TOC79" HREF="gdb_9.html#SEC79">8.15 Copy Between Memory and a File</A>
<BR>
<A NAME="TOC80" HREF="gdb_9.html#SEC80">8.16 How to Produce a Core File from Your Program</A>
<BR>
<A NAME="TOC81" HREF="gdb_9.html#SEC81">8.17 Character Sets</A>
<BR>
<A NAME="TOC82" HREF="gdb_9.html#SEC82">8.18 Caching Data of Remote Targets</A>
<BR>
</UL>
<A NAME="TOC83" HREF="gdb_10.html#SEC83">9. C Preprocessor Macros</A>
<BR>
<A NAME="TOC84" HREF="gdb_11.html#SEC84">10. Tracepoints</A>
<BR>
<UL>
<A NAME="TOC85" HREF="gdb_11.html#SEC85">10.1 Commands to Set Tracepoints</A>
<BR>
<UL>
<A NAME="TOC86" HREF="gdb_11.html#SEC86">10.1.1 Create and Delete Tracepoints</A>
<BR>
<A NAME="TOC87" HREF="gdb_11.html#SEC87">10.1.2 Enable and Disable Tracepoints</A>
<BR>
<A NAME="TOC88" HREF="gdb_11.html#SEC88">10.1.3 Tracepoint Passcounts</A>
<BR>
<A NAME="TOC89" HREF="gdb_11.html#SEC89">10.1.4 Tracepoint Action Lists</A>
<BR>
<A NAME="TOC90" HREF="gdb_11.html#SEC90">10.1.5 Listing Tracepoints</A>
<BR>
<A NAME="TOC91" HREF="gdb_11.html#SEC91">10.1.6 Starting and Stopping Trace Experiments</A>
<BR>
</UL>
<A NAME="TOC92" HREF="gdb_11.html#SEC92">10.2 Using the Collected Data</A>
<BR>
<UL>
<A NAME="TOC93" HREF="gdb_11.html#SEC93">10.2.1 <CODE>tfind <VAR>n</VAR></CODE></A>
<BR>
<A NAME="TOC94" HREF="gdb_11.html#SEC94">10.2.2 <CODE>tdump</CODE></A>
<BR>
<A NAME="TOC95" HREF="gdb_11.html#SEC95">10.2.3 <CODE>save-tracepoints <VAR>filename</VAR></CODE></A>
<BR>
</UL>
<A NAME="TOC96" HREF="gdb_11.html#SEC96">10.3 Convenience Variables for Tracepoints</A>
<BR>
</UL>
<A NAME="TOC97" HREF="gdb_12.html#SEC97">11. Debugging Programs That Use Overlays</A>
<BR>
<UL>
<A NAME="TOC98" HREF="gdb_12.html#SEC98">11.1 How Overlays Work</A>
<BR>
<A NAME="TOC99" HREF="gdb_12.html#SEC99">11.2 Overlay Commands</A>
<BR>
<A NAME="TOC100" HREF="gdb_12.html#SEC100">11.3 Automatic Overlay Debugging</A>
<BR>
<A NAME="TOC101" HREF="gdb_12.html#SEC101">11.4 Overlay Sample Program</A>
<BR>
</UL>
<A NAME="TOC102" HREF="gdb_13.html#SEC102">12. Using GDB with Different Languages</A>
<BR>
<UL>
<A NAME="TOC103" HREF="gdb_13.html#SEC103">12.1 Switching Between Source Languages</A>
<BR>
<UL>
<A NAME="TOC104" HREF="gdb_13.html#SEC104">12.1.1 List of Filename Extensions and Languages</A>
<BR>
<A NAME="TOC105" HREF="gdb_13.html#SEC105">12.1.2 Setting the Working Language</A>
<BR>
<A NAME="TOC106" HREF="gdb_13.html#SEC106">12.1.3 Having GDB Infer the Source Language</A>
<BR>
</UL>
<A NAME="TOC107" HREF="gdb_13.html#SEC107">12.2 Displaying the Language</A>
<BR>
<A NAME="TOC108" HREF="gdb_13.html#SEC108">12.3 Type and Range Checking</A>
<BR>
<UL>
<A NAME="TOC109" HREF="gdb_13.html#SEC109">12.3.1 An Overview of Type Checking</A>
<BR>
<A NAME="TOC110" HREF="gdb_13.html#SEC110">12.3.2 An Overview of Range Checking</A>
<BR>
</UL>
<A NAME="TOC111" HREF="gdb_13.html#SEC111">12.4 Supported Languages</A>
<BR>
<UL>
<A NAME="TOC112" HREF="gdb_13.html#SEC112">12.4.1 C and C<TT>++</TT></A>
<BR>
<UL>
<A NAME="TOC113" HREF="gdb_13.html#SEC113">12.4.1.1 C and C<TT>++</TT> Operators</A>
<BR>
<A NAME="TOC114" HREF="gdb_13.html#SEC114">12.4.1.2 C and C<TT>++</TT> Constants</A>
<BR>
<A NAME="TOC115" HREF="gdb_13.html#SEC115">12.4.1.3 C<TT>++</TT> Expressions</A>
<BR>
<A NAME="TOC116" HREF="gdb_13.html#SEC116">12.4.1.4 C and C<TT>++</TT> Defaults</A>
<BR>
<A NAME="TOC117" HREF="gdb_13.html#SEC117">12.4.1.5 C and C<TT>++</TT> Type and Range Checks</A>
<BR>
<A NAME="TOC118" HREF="gdb_13.html#SEC118">12.4.1.6 GDB and C</A>
<BR>
<A NAME="TOC119" HREF="gdb_13.html#SEC119">12.4.1.7 GDB Features for C<TT>++</TT></A>
<BR>
<A NAME="TOC120" HREF="gdb_13.html#SEC120">12.4.1.8 Decimal Floating Point format</A>
<BR>
</UL>
<A NAME="TOC121" HREF="gdb_13.html#SEC121">12.4.2 Objective-C</A>
<BR>
<UL>
<A NAME="TOC122" HREF="gdb_13.html#SEC122">12.4.2.1 Method Names in Commands</A>
<BR>
<A NAME="TOC123" HREF="gdb_13.html#SEC123">12.4.2.2 The Print Command With Objective-C</A>
<BR>
</UL>
<A NAME="TOC124" HREF="gdb_13.html#SEC124">12.4.3 Fortran</A>
<BR>
<UL>
<A NAME="TOC125" HREF="gdb_13.html#SEC125">12.4.3.1 Fortran Operators and Expressions</A>
<BR>
<A NAME="TOC126" HREF="gdb_13.html#SEC126">12.4.3.2 Fortran Defaults</A>
<BR>
<A NAME="TOC127" HREF="gdb_13.html#SEC127">12.4.3.3 Special Fortran Commands</A>
<BR>
</UL>
<A NAME="TOC128" HREF="gdb_13.html#SEC128">12.4.4 Pascal</A>
<BR>
<A NAME="TOC129" HREF="gdb_13.html#SEC129">12.4.5 Modula-2</A>
<BR>
<UL>
<A NAME="TOC130" HREF="gdb_13.html#SEC130">12.4.5.1 Operators</A>
<BR>
<A NAME="TOC131" HREF="gdb_13.html#SEC131">12.4.5.2 Built-in Functions and Procedures</A>
<BR>
<A NAME="TOC132" HREF="gdb_13.html#SEC132">12.4.5.3 Constants</A>
<BR>
<A NAME="TOC133" HREF="gdb_13.html#SEC133">12.4.5.4 Modula-2 Types</A>
<BR>
<A NAME="TOC134" HREF="gdb_13.html#SEC134">12.4.5.5 Modula-2 Defaults</A>
<BR>
<A NAME="TOC135" HREF="gdb_13.html#SEC135">12.4.5.6 Deviations from Standard Modula-2</A>
<BR>
<A NAME="TOC136" HREF="gdb_13.html#SEC136">12.4.5.7 Modula-2 Type and Range Checks</A>
<BR>
<A NAME="TOC137" HREF="gdb_13.html#SEC137">12.4.5.8 The Scope Operators <CODE>::</CODE> and <CODE>.</CODE></A>
<BR>
<A NAME="TOC138" HREF="gdb_13.html#SEC138">12.4.5.9 GDB and Modula-2</A>
<BR>
</UL>
<A NAME="TOC139" HREF="gdb_13.html#SEC139">12.4.6 Ada</A>
<BR>
<UL>
<A NAME="TOC140" HREF="gdb_13.html#SEC140">12.4.6.1 Introduction</A>
<BR>
<A NAME="TOC141" HREF="gdb_13.html#SEC141">12.4.6.2 Omissions from Ada</A>
<BR>
<A NAME="TOC142" HREF="gdb_13.html#SEC142">12.4.6.3 Additions to Ada</A>
<BR>
<A NAME="TOC143" HREF="gdb_13.html#SEC143">12.4.6.4 Stopping at the Very Beginning</A>
<BR>
<A NAME="TOC144" HREF="gdb_13.html#SEC144">12.4.6.5 Known Peculiarities of Ada Mode</A>
<BR>
</UL>
</UL>
<A NAME="TOC145" HREF="gdb_13.html#SEC145">12.5 Unsupported Languages</A>
<BR>
</UL>
<A NAME="TOC146" HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A>
<BR>
<A NAME="TOC147" HREF="gdb_15.html#SEC147">14. Altering Execution</A>
<BR>
<UL>
<A NAME="TOC148" HREF="gdb_15.html#SEC148">14.1 Assignment to Variables</A>
<BR>
<A NAME="TOC149" HREF="gdb_15.html#SEC149">14.2 Continuing at a Different Address</A>
<BR>
<A NAME="TOC150" HREF="gdb_15.html#SEC150">14.3 Giving your Program a Signal</A>
<BR>
<A NAME="TOC151" HREF="gdb_15.html#SEC151">14.4 Returning from a Function</A>
<BR>
<A NAME="TOC152" HREF="gdb_15.html#SEC152">14.5 Calling Program Functions</A>
<BR>
<A NAME="TOC153" HREF="gdb_15.html#SEC153">14.6 Patching Programs</A>
<BR>
</UL>
<A NAME="TOC154" HREF="gdb_16.html#SEC154">15. GDB Files</A>
<BR>
<UL>
<A NAME="TOC155" HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A>
<BR>
<A NAME="TOC156" HREF="gdb_16.html#SEC156">15.2 Debugging Information in Separate Files</A>
<BR>
<A NAME="TOC157" HREF="gdb_16.html#SEC157">15.3 Errors Reading Symbol Files</A>
<BR>
</UL>
<A NAME="TOC158" HREF="gdb_17.html#SEC158">16. Specifying a Debugging Target</A>
<BR>
<UL>
<A NAME="TOC159" HREF="gdb_17.html#SEC159">16.1 Active Targets</A>
<BR>
<A NAME="TOC160" HREF="gdb_17.html#SEC160">16.2 Commands for Managing Targets</A>
<BR>
<A NAME="TOC161" HREF="gdb_17.html#SEC161">16.3 Choosing Target Byte Order</A>
<BR>
</UL>
<A NAME="TOC162" HREF="gdb_18.html#SEC162">17. Debugging Remote Programs</A>
<BR>
<UL>
<A NAME="TOC163" HREF="gdb_18.html#SEC163">17.1 Connecting to a Remote Target</A>
<BR>
<A NAME="TOC164" HREF="gdb_18.html#SEC164">17.2 Sending files to a remote system</A>
<BR>
<A NAME="TOC165" HREF="gdb_18.html#SEC165">17.3 Using the <CODE>gdbserver</CODE> Program</A>
<BR>
<UL>
<A NAME="TOC166" HREF="gdb_18.html#SEC166">17.3.1 Running <CODE>gdbserver</CODE></A>
<BR>
<UL>
<A NAME="TOC167" HREF="gdb_18.html#SEC167">17.3.1.1 Attaching to a Running Program</A>
<BR>
<A NAME="TOC168" HREF="gdb_18.html#SEC168">17.3.1.2 Multi-Process Mode for <CODE>gdbserver</CODE></A>
<BR>
<A NAME="TOC169" HREF="gdb_18.html#SEC169">17.3.1.3 Other Command-Line Arguments for <CODE>gdbserver</CODE></A>
<BR>
</UL>
<A NAME="TOC170" HREF="gdb_18.html#SEC170">17.3.2 Connecting to <CODE>gdbserver</CODE></A>
<BR>
<A NAME="TOC171" HREF="gdb_18.html#SEC171">17.3.3 Monitor Commands for <CODE>gdbserver</CODE></A>
<BR>
</UL>
<A NAME="TOC172" HREF="gdb_18.html#SEC172">17.4 Remote Configuration</A>
<BR>
<A NAME="TOC173" HREF="gdb_18.html#SEC173">17.5 Implementing a Remote Stub</A>
<BR>
<UL>
<A NAME="TOC174" HREF="gdb_18.html#SEC174">17.5.1 What the Stub Can Do for You</A>
<BR>
<A NAME="TOC175" HREF="gdb_18.html#SEC175">17.5.2 What You Must Do for the Stub</A>
<BR>
<A NAME="TOC176" HREF="gdb_18.html#SEC176">17.5.3 Putting it All Together</A>
<BR>
</UL>
</UL>
<A NAME="TOC177" HREF="gdb_19.html#SEC177">18. Configuration-Specific Information</A>
<BR>
<UL>
<A NAME="TOC178" HREF="gdb_19.html#SEC178">18.1 Native</A>
<BR>
<UL>
<A NAME="TOC179" HREF="gdb_19.html#SEC179">18.1.1 HP-UX</A>
<BR>
<A NAME="TOC180" HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A>
<BR>
<A NAME="TOC181" HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A>
<BR>
<A NAME="TOC182" HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A>
<BR>
<A NAME="TOC183" HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A>
<BR>
<UL>
<A NAME="TOC184" HREF="gdb_19.html#SEC184">18.1.5.1 Support for DLLs without Debugging Symbols</A>
<BR>
<A NAME="TOC185" HREF="gdb_19.html#SEC185">18.1.5.2 DLL Name Prefixes</A>
<BR>
<A NAME="TOC186" HREF="gdb_19.html#SEC186">18.1.5.3 Working with Minimal Symbols</A>
<BR>
</UL>
<A NAME="TOC187" HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A>
<BR>
<A NAME="TOC188" HREF="gdb_19.html#SEC188">18.1.7 QNX Neutrino</A>
<BR>
</UL>
<A NAME="TOC189" HREF="gdb_19.html#SEC189">18.2 Embedded Operating Systems</A>
<BR>
<UL>
<A NAME="TOC190" HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A>
<BR>
<UL>
<A NAME="TOC191" HREF="gdb_19.html#SEC191">18.2.1.1 Connecting to VxWorks</A>
<BR>
<A NAME="TOC192" HREF="gdb_19.html#SEC192">18.2.1.2 VxWorks Download</A>
<BR>
<A NAME="TOC193" HREF="gdb_19.html#SEC193">18.2.1.3 Running Tasks</A>
<BR>
</UL>
</UL>
<A NAME="TOC194" HREF="gdb_19.html#SEC194">18.3 Embedded Processors</A>
<BR>
<UL>
<A NAME="TOC195" HREF="gdb_19.html#SEC195">18.3.1 ARM</A>
<BR>
<A NAME="TOC196" HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A>
<BR>
<A NAME="TOC197" HREF="gdb_19.html#SEC197">18.3.3 M68k</A>
<BR>
<A NAME="TOC198" HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A>
<BR>
<A NAME="TOC199" HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A>
<BR>
<A NAME="TOC200" HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A>
<BR>
<A NAME="TOC201" HREF="gdb_19.html#SEC201">18.3.7 HP PA Embedded</A>
<BR>
<A NAME="TOC202" HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A>
<BR>
<UL>
<A NAME="TOC203" HREF="gdb_19.html#SEC203">18.3.8.1 Setting File to Debug</A>
<BR>
<A NAME="TOC204" HREF="gdb_19.html#SEC204">18.3.8.2 Connecting to Sparclet</A>
<BR>
<A NAME="TOC205" HREF="gdb_19.html#SEC205">18.3.8.3 Sparclet Download</A>
<BR>
<A NAME="TOC206" HREF="gdb_19.html#SEC206">18.3.8.4 Running and Debugging</A>
<BR>
</UL>
<A NAME="TOC207" HREF="gdb_19.html#SEC207">18.3.9 Fujitsu Sparclite</A>
<BR>
<A NAME="TOC208" HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A>
<BR>
<A NAME="TOC209" HREF="gdb_19.html#SEC209">18.3.11 Atmel AVR</A>
<BR>
<A NAME="TOC210" HREF="gdb_19.html#SEC210">18.3.12 CRIS</A>
<BR>
<A NAME="TOC211" HREF="gdb_19.html#SEC211">18.3.13 Renesas Super-H</A>
<BR>
</UL>
<A NAME="TOC212" HREF="gdb_19.html#SEC212">18.4 Architectures</A>
<BR>
<UL>
<A NAME="TOC213" HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A>
<BR>
<A NAME="TOC214" HREF="gdb_19.html#SEC214">18.4.2 A29K</A>
<BR>
<A NAME="TOC215" HREF="gdb_19.html#SEC215">18.4.3 Alpha</A>
<BR>
<A NAME="TOC216" HREF="gdb_19.html#SEC216">18.4.4 MIPS</A>
<BR>
<A NAME="TOC217" HREF="gdb_19.html#SEC217">18.4.5 HPPA</A>
<BR>
<A NAME="TOC218" HREF="gdb_19.html#SEC218">18.4.6 Cell Broadband Engine SPU architecture</A>
<BR>
<A NAME="TOC219" HREF="gdb_19.html#SEC219">18.4.7 PowerPC</A>
<BR>
</UL>
</UL>
<A NAME="TOC220" HREF="gdb_20.html#SEC220">19. Controlling GDB</A>
<BR>
<UL>
<A NAME="TOC221" HREF="gdb_20.html#SEC221">19.1 Prompt</A>
<BR>
<A NAME="TOC222" HREF="gdb_20.html#SEC222">19.2 Command Editing</A>
<BR>
<A NAME="TOC223" HREF="gdb_20.html#SEC223">19.3 Command History</A>
<BR>
<A NAME="TOC224" HREF="gdb_20.html#SEC224">19.4 Screen Size</A>
<BR>
<A NAME="TOC225" HREF="gdb_20.html#SEC225">19.5 Numbers</A>
<BR>
<A NAME="TOC226" HREF="gdb_20.html#SEC226">19.6 Configuring the Current ABI</A>
<BR>
<A NAME="TOC227" HREF="gdb_20.html#SEC227">19.7 Optional Warnings and Messages</A>
<BR>
<A NAME="TOC228" HREF="gdb_20.html#SEC228">19.8 Optional Messages about Internal Happenings</A>
<BR>
</UL>
<A NAME="TOC229" HREF="gdb_21.html#SEC229">20. Canned Sequences of Commands</A>
<BR>
<UL>
<A NAME="TOC230" HREF="gdb_21.html#SEC230">20.1 User-defined Commands</A>
<BR>
<A NAME="TOC231" HREF="gdb_21.html#SEC231">20.2 User-defined Command Hooks</A>
<BR>
<A NAME="TOC232" HREF="gdb_21.html#SEC232">20.3 Command Files</A>
<BR>
<A NAME="TOC233" HREF="gdb_21.html#SEC233">20.4 Commands for Controlled Output</A>
<BR>
</UL>
<A NAME="TOC234" HREF="gdb_22.html#SEC234">21. Command Interpreters</A>
<BR>
<A NAME="TOC235" HREF="gdb_23.html#SEC235">22. GDB Text User Interface</A>
<BR>
<UL>
<A NAME="TOC236" HREF="gdb_23.html#SEC236">22.1 TUI Overview</A>
<BR>
<A NAME="TOC237" HREF="gdb_23.html#SEC237">22.2 TUI Key Bindings</A>
<BR>
<A NAME="TOC238" HREF="gdb_23.html#SEC238">22.3 TUI Single Key Mode</A>
<BR>
<A NAME="TOC239" HREF="gdb_23.html#SEC239">22.4 TUI-specific Commands</A>
<BR>
<A NAME="TOC240" HREF="gdb_23.html#SEC240">22.5 TUI Configuration Variables</A>
<BR>
</UL>
<A NAME="TOC241" HREF="gdb_24.html#SEC241">23. Using GDB under GNU Emacs</A>
<BR>
<A NAME="TOC242" HREF="gdb_25.html#SEC242">24. The GDB/MI Interface</A>
<BR>
<UL>
<A NAME="TOC243" HREF="gdb_25.html#SEC243">Function and Purpose</A>
<BR>
<A NAME="TOC244" HREF="gdb_25.html#SEC244">Notation and Terminology</A>
<BR>
<A NAME="TOC245" HREF="gdb_25.html#SEC245">24.1 GDB/MI Command Syntax</A>
<BR>
<UL>
<A NAME="TOC246" HREF="gdb_25.html#SEC246">24.1.1 GDB/MI Input Syntax</A>
<BR>
<A NAME="TOC247" HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A>
<BR>
</UL>
<A NAME="TOC248" HREF="gdb_25.html#SEC248">24.2 GDB/MI Compatibility with CLI</A>
<BR>
<A NAME="TOC249" HREF="gdb_25.html#SEC249">24.3 GDB/MI Development and Front Ends</A>
<BR>
<A NAME="TOC250" HREF="gdb_25.html#SEC250">24.4 GDB/MI Output Records</A>
<BR>
<UL>
<A NAME="TOC251" HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A>
<BR>
<A NAME="TOC252" HREF="gdb_25.html#SEC252">24.4.2 GDB/MI Stream Records</A>
<BR>
<A NAME="TOC253" HREF="gdb_25.html#SEC253">24.4.3 GDB/MI Out-of-band Records</A>
<BR>
</UL>
<A NAME="TOC254" HREF="gdb_25.html#SEC254">24.5 Simple Examples of GDB/MI Interaction</A>
<BR>
<A NAME="TOC259" HREF="gdb_25.html#SEC259">24.6 GDB/MI Command Description Format</A>
<BR>
<A NAME="TOC267" HREF="gdb_25.html#SEC267">24.7 GDB/MI Breakpoint Commands</A>
<BR>
<A NAME="TOC305" HREF="gdb_25.html#SEC305">24.8 GDB/MI Program Context</A>
<BR>
<A NAME="TOC330" HREF="gdb_25.html#SEC330">24.9 GDB/MI Thread Commands</A>
<BR>
<A NAME="TOC347" HREF="gdb_25.html#SEC347">24.10 GDB/MI Program Execution</A>
<BR>
<A NAME="TOC388" HREF="gdb_25.html#SEC388">24.11 GDB/MI Stack Manipulation Commands</A>
<BR>
<A NAME="TOC413" HREF="gdb_25.html#SEC413">24.12 GDB/MI Variable Objects</A>
<BR>
<A NAME="TOC449" HREF="gdb_25.html#SEC449">24.13 GDB/MI Data Manipulation</A>
<BR>
<A NAME="TOC475" HREF="gdb_25.html#SEC475">24.14 GDB/MI Tracepoint Commands</A>
<BR>
<A NAME="TOC476" HREF="gdb_25.html#SEC476">24.15 GDB/MI Symbol Query Commands</A>
<BR>
<A NAME="TOC521" HREF="gdb_25.html#SEC521">24.16 GDB/MI File Commands</A>
<BR>
<A NAME="TOC554" HREF="gdb_25.html#SEC554">24.17 GDB/MI Target Manipulation Commands</A>
<BR>
<A NAME="TOC595" HREF="gdb_25.html#SEC595">24.18 GDB/MI File Transfer Commands</A>
<BR>
<A NAME="TOC608" HREF="gdb_25.html#SEC608">24.19 Miscellaneous GDB/MI Commands</A>
<BR>
</UL>
<A NAME="TOC646" HREF="gdb_26.html#SEC646">25. GDB Annotations</A>
<BR>
<UL>
<A NAME="TOC647" HREF="gdb_26.html#SEC647">25.1 What is an Annotation?</A>
<BR>
<A NAME="TOC648" HREF="gdb_26.html#SEC648">25.2 The Server Prefix</A>
<BR>
<A NAME="TOC649" HREF="gdb_26.html#SEC649">25.3 Annotation for GDB Input</A>
<BR>
<A NAME="TOC650" HREF="gdb_26.html#SEC650">25.4 Errors</A>
<BR>
<A NAME="TOC651" HREF="gdb_26.html#SEC651">25.5 Invalidation Notices</A>
<BR>
<A NAME="TOC652" HREF="gdb_26.html#SEC652">25.6 Running the Program</A>
<BR>
<A NAME="TOC653" HREF="gdb_26.html#SEC653">25.7 Displaying Source</A>
<BR>
</UL>
<A NAME="TOC654" HREF="gdb_27.html#SEC654">26. Reporting Bugs in GDB</A>
<BR>
<UL>
<A NAME="TOC655" HREF="gdb_27.html#SEC655">26.1 Have You Found a Bug?</A>
<BR>
<A NAME="TOC656" HREF="gdb_27.html#SEC656">26.2 How to Report Bugs</A>
<BR>
</UL>
<A NAME="TOC657" HREF="gdb_28.html#SEC657">27. Command Line Editing</A>
<BR>
<UL>
<A NAME="TOC658" HREF="gdb_28.html#SEC658">27.1 Introduction to Line Editing</A>
<BR>
<A NAME="TOC659" HREF="gdb_28.html#SEC659">27.2 Readline Interaction</A>
<BR>
<UL>
<A NAME="TOC660" HREF="gdb_28.html#SEC660">27.2.1 Readline Bare Essentials</A>
<BR>
<A NAME="TOC661" HREF="gdb_28.html#SEC661">27.2.2 Readline Movement Commands</A>
<BR>
<A NAME="TOC662" HREF="gdb_28.html#SEC662">27.2.3 Readline Killing Commands</A>
<BR>
<A NAME="TOC663" HREF="gdb_28.html#SEC663">27.2.4 Readline Arguments</A>
<BR>
<A NAME="TOC664" HREF="gdb_28.html#SEC664">27.2.5 Searching for Commands in the History</A>
<BR>
</UL>
<A NAME="TOC665" HREF="gdb_28.html#SEC665">27.3 Readline Init File</A>
<BR>
<UL>
<A NAME="TOC666" HREF="gdb_28.html#SEC666">27.3.1 Readline Init File Syntax</A>
<BR>
<A NAME="TOC667" HREF="gdb_28.html#SEC667">27.3.2 Conditional Init Constructs</A>
<BR>
<A NAME="TOC668" HREF="gdb_28.html#SEC668">27.3.3 Sample Init File</A>
<BR>
</UL>
<A NAME="TOC669" HREF="gdb_28.html#SEC669">27.4 Bindable Readline Commands</A>
<BR>
<UL>
<A NAME="TOC670" HREF="gdb_28.html#SEC670">27.4.1 Commands For Moving</A>
<BR>
<A NAME="TOC671" HREF="gdb_28.html#SEC671">27.4.2 Commands For Manipulating The History</A>
<BR>
<A NAME="TOC672" HREF="gdb_28.html#SEC672">27.4.3 Commands For Changing Text</A>
<BR>
<A NAME="TOC673" HREF="gdb_28.html#SEC673">27.4.4 Killing And Yanking</A>
<BR>
<A NAME="TOC674" HREF="gdb_28.html#SEC674">27.4.5 Specifying Numeric Arguments</A>
<BR>
<A NAME="TOC675" HREF="gdb_28.html#SEC675">27.4.6 Letting Readline Type For You</A>
<BR>
<A NAME="TOC676" HREF="gdb_28.html#SEC676">27.4.7 Keyboard Macros</A>
<BR>
<A NAME="TOC677" HREF="gdb_28.html#SEC677">27.4.8 Some Miscellaneous Commands</A>
<BR>
</UL>
<A NAME="TOC678" HREF="gdb_28.html#SEC678">27.5 Readline vi Mode</A>
<BR>
</UL>
<A NAME="TOC679" HREF="gdb_29.html#SEC679">28. Using History Interactively</A>
<BR>
<UL>
<A NAME="TOC680" HREF="gdb_29.html#SEC680">28.1 History Expansion</A>
<BR>
<UL>
<A NAME="TOC681" HREF="gdb_29.html#SEC681">28.1.1 Event Designators</A>
<BR>
<A NAME="TOC682" HREF="gdb_29.html#SEC682">28.1.2 Word Designators</A>
<BR>
<A NAME="TOC683" HREF="gdb_29.html#SEC683">28.1.3 Modifiers</A>
<BR>
</UL>
</UL>
<A NAME="TOC684" HREF="gdb_30.html#SEC684">A. Formatting Documentation</A>
<BR>
<A NAME="TOC685" HREF="gdb_31.html#SEC685">B. Installing GDB</A>
<BR>
<UL>
<A NAME="TOC686" HREF="gdb_31.html#SEC686">B.1 Requirements for Building GDB</A>
<BR>
<A NAME="TOC689" HREF="gdb_31.html#SEC689">B.2 Invoking the GDB <TT>`configure'</TT> Script</A>
<BR>
<A NAME="TOC690" HREF="gdb_31.html#SEC690">B.3 Compiling GDB in Another Directory</A>
<BR>
<A NAME="TOC691" HREF="gdb_31.html#SEC691">B.4 Specifying Names for Hosts and Targets</A>
<BR>
<A NAME="TOC692" HREF="gdb_31.html#SEC692">B.5 <TT>`configure'</TT> Options</A>
<BR>
</UL>
<A NAME="TOC693" HREF="gdb_32.html#SEC693">C. Maintenance Commands</A>
<BR>
<A NAME="TOC694" HREF="gdb_33.html#SEC694">D. GDB Remote Serial Protocol</A>
<BR>
<UL>
<A NAME="TOC695" HREF="gdb_33.html#SEC695">D.1 Overview</A>
<BR>
<A NAME="TOC696" HREF="gdb_33.html#SEC696">D.2 Packets</A>
<BR>
<A NAME="TOC697" HREF="gdb_33.html#SEC697">D.3 Stop Reply Packets</A>
<BR>
<A NAME="TOC698" HREF="gdb_33.html#SEC698">D.4 General Query Packets</A>
<BR>
<A NAME="TOC699" HREF="gdb_33.html#SEC699">D.5 Register Packet Format</A>
<BR>
<A NAME="TOC700" HREF="gdb_33.html#SEC700">D.6 Tracepoint Packets</A>
<BR>
<A NAME="TOC701" HREF="gdb_33.html#SEC701">D.7 Host I/O Packets</A>
<BR>
<A NAME="TOC702" HREF="gdb_33.html#SEC702">D.8 Interrupts</A>
<BR>
<A NAME="TOC703" HREF="gdb_33.html#SEC703">D.9 Examples</A>
<BR>
<A NAME="TOC704" HREF="gdb_33.html#SEC704">D.10 File-I/O Remote Protocol Extension</A>
<BR>
<UL>
<A NAME="TOC705" HREF="gdb_33.html#SEC705">D.10.1 File-I/O Overview</A>
<BR>
<A NAME="TOC706" HREF="gdb_33.html#SEC706">D.10.2 Protocol Basics</A>
<BR>
<A NAME="TOC707" HREF="gdb_33.html#SEC707">D.10.3 The <CODE>F</CODE> Request Packet</A>
<BR>
<A NAME="TOC708" HREF="gdb_33.html#SEC708">D.10.4 The <CODE>F</CODE> Reply Packet</A>
<BR>
<A NAME="TOC709" HREF="gdb_33.html#SEC709">D.10.5 The <SAMP>`Ctrl-C'</SAMP> Message</A>
<BR>
<A NAME="TOC710" HREF="gdb_33.html#SEC710">D.10.6 Console I/O</A>
<BR>
<A NAME="TOC711" HREF="gdb_33.html#SEC711">D.10.7 List of Supported Calls</A>
<BR>
<UL>
<A NAME="TOC712" HREF="gdb_33.html#SEC712">open</A>
<BR>
<A NAME="TOC713" HREF="gdb_33.html#SEC713">close</A>
<BR>
<A NAME="TOC714" HREF="gdb_33.html#SEC714">read</A>
<BR>
<A NAME="TOC715" HREF="gdb_33.html#SEC715">write</A>
<BR>
<A NAME="TOC716" HREF="gdb_33.html#SEC716">lseek</A>
<BR>
<A NAME="TOC717" HREF="gdb_33.html#SEC717">rename</A>
<BR>
<A NAME="TOC718" HREF="gdb_33.html#SEC718">unlink</A>
<BR>
<A NAME="TOC719" HREF="gdb_33.html#SEC719">stat/fstat</A>
<BR>
<A NAME="TOC720" HREF="gdb_33.html#SEC720">gettimeofday</A>
<BR>
<A NAME="TOC721" HREF="gdb_33.html#SEC721">isatty</A>
<BR>
<A NAME="TOC722" HREF="gdb_33.html#SEC722">system</A>
<BR>
</UL>
<A NAME="TOC723" HREF="gdb_33.html#SEC723">D.10.8 Protocol-specific Representation of Datatypes</A>
<BR>
<UL>
<A NAME="TOC724" HREF="gdb_33.html#SEC724">Integral Datatypes</A>
<BR>
<A NAME="TOC725" HREF="gdb_33.html#SEC725">Pointer Values</A>
<BR>
<A NAME="TOC726" HREF="gdb_33.html#SEC726">Memory Transfer</A>
<BR>
<A NAME="TOC727" HREF="gdb_33.html#SEC727">struct stat</A>
<BR>
<A NAME="TOC728" HREF="gdb_33.html#SEC728">struct timeval</A>
<BR>
</UL>
<A NAME="TOC729" HREF="gdb_33.html#SEC729">D.10.9 Constants</A>
<BR>
<UL>
<A NAME="TOC730" HREF="gdb_33.html#SEC730">Open Flags</A>
<BR>
<A NAME="TOC731" HREF="gdb_33.html#SEC731">mode_t Values</A>
<BR>
<A NAME="TOC732" HREF="gdb_33.html#SEC732">Errno Values</A>
<BR>
<A NAME="TOC733" HREF="gdb_33.html#SEC733">Lseek Flags</A>
<BR>
<A NAME="TOC734" HREF="gdb_33.html#SEC734">Limits</A>
<BR>
</UL>
<A NAME="TOC735" HREF="gdb_33.html#SEC735">D.10.10 File-I/O Examples</A>
<BR>
</UL>
<A NAME="TOC736" HREF="gdb_33.html#SEC736">D.11 Library List Format</A>
<BR>
<A NAME="TOC737" HREF="gdb_33.html#SEC737">D.12 Memory Map Format</A>
<BR>
</UL>
<A NAME="TOC738" HREF="gdb_34.html#SEC738">E. The GDB Agent Expression Mechanism</A>
<BR>
<UL>
<A NAME="TOC739" HREF="gdb_34.html#SEC739">E.1 General Bytecode Design</A>
<BR>
<A NAME="TOC740" HREF="gdb_34.html#SEC740">E.2 Bytecode Descriptions</A>
<BR>
<A NAME="TOC741" HREF="gdb_34.html#SEC741">E.3 Using Agent Expressions</A>
<BR>
<A NAME="TOC742" HREF="gdb_34.html#SEC742">E.4 Varying Target Capabilities</A>
<BR>
<A NAME="TOC743" HREF="gdb_34.html#SEC743">E.5 Tracing on Symmetrix</A>
<BR>
<A NAME="TOC744" HREF="gdb_34.html#SEC744">E.6 Rationale</A>
<BR>
</UL>
<A NAME="TOC745" HREF="gdb_35.html#SEC745">F. Target Descriptions</A>
<BR>
<UL>
<A NAME="TOC746" HREF="gdb_35.html#SEC746">F.1 Retrieving Descriptions</A>
<BR>
<A NAME="TOC747" HREF="gdb_35.html#SEC747">F.2 Target Description Format</A>
<BR>
<UL>
<A NAME="TOC748" HREF="gdb_35.html#SEC748">F.2.1 Inclusion</A>
<BR>
<A NAME="TOC749" HREF="gdb_35.html#SEC749">F.2.2 Architecture</A>
<BR>
<A NAME="TOC750" HREF="gdb_35.html#SEC750">F.2.3 Features</A>
<BR>
<A NAME="TOC751" HREF="gdb_35.html#SEC751">F.2.4 Types</A>
<BR>
<A NAME="TOC752" HREF="gdb_35.html#SEC752">F.2.5 Registers</A>
<BR>
</UL>
<A NAME="TOC753" HREF="gdb_35.html#SEC753">F.3 Predefined Target Types</A>
<BR>
<A NAME="TOC754" HREF="gdb_35.html#SEC754">F.4 Standard Target Features</A>
<BR>
<UL>
<A NAME="TOC755" HREF="gdb_35.html#SEC755">F.4.1 ARM Features</A>
<BR>
<A NAME="TOC756" HREF="gdb_35.html#SEC756">F.4.2 MIPS Features</A>
<BR>
<A NAME="TOC757" HREF="gdb_35.html#SEC757">F.4.3 M68K Features</A>
<BR>
<A NAME="TOC758" HREF="gdb_35.html#SEC758">F.4.4 PowerPC Features</A>
<BR>
</UL>
</UL>
<A NAME="TOC759" HREF="gdb_36.html#SEC759">G. GNU GENERAL PUBLIC LICENSE</A>
<BR>
<UL>
<A NAME="TOC760" HREF="gdb_36.html#SEC760">Preamble</A>
<BR>
<A NAME="TOC761" HREF="gdb_36.html#SEC761">How to Apply These Terms to Your New Programs</A>
<BR>
</UL>
<A NAME="TOC762" HREF="gdb_37.html#SEC762">H. GNU Free Documentation License</A>
<BR>
<UL>
<A NAME="TOC763" HREF="gdb_37.html#SEC763">H.1 ADDENDUM: How to use this License for your documents</A>
<BR>
</UL>
<A NAME="TOC764" HREF="gdb_38.html#SEC764">Index</A>
<BR>
</UL>
<HR SIZE=1>
<BR>
<FONT SIZE="-1">
<address>
<p>Please send FSF &amp; GNU inquiries &amp; questions to <a
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
href="http://www.gnu.org/home.html#ContactInfo">other ways to
contact</a> the FSF.</p>
<p>These pages are maintained by <a
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.</p>
<p>Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.</p>
</address>
This document was generated
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>