5830 lines
		
	
	
	
		
			192 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			5830 lines
		
	
	
	
		
			192 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<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/MI</TITLE>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<META NAME="description" CONTENT="Debugging with GDB: GDB/MI">
							 | 
						||
| 
								 | 
							
								<META NAME="keywords" CONTENT="Debugging with GDB: GDB/MI">
							 | 
						||
| 
								 | 
							
								<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="SEC242"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_24.html#SEC241"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC243"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_4.html#SEC14"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24. The GDB/MI Interface </H1>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC242::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC243"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC244"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> Function and Purpose </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC243::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1258"></A>
							 | 
						||
| 
								 | 
							
								GDB/MI is a line based machine oriented text interface to
							 | 
						||
| 
								 | 
							
								GDB and is activated by specifying using the
							 | 
						||
| 
								 | 
							
								<SAMP>`--interpreter'</SAMP> command line option (see section <A HREF="gdb_3.html#SEC9">2.1.2 Choosing Modes</A>).  It
							 | 
						||
| 
								 | 
							
								is specifically intended to support the development of systems which
							 | 
						||
| 
								 | 
							
								use the debugger as just one small component of a larger system.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This chapter is a specification of the GDB/MI interface.  It is written
							 | 
						||
| 
								 | 
							
								in the form of a reference manual.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that GDB/MI is still under construction, so some of the
							 | 
						||
| 
								 | 
							
								features described below are incomplete and subject to change
							 | 
						||
| 
								 | 
							
								(see section <A HREF="gdb_25.html#SEC249">GDB/MI Development and Front Ends</A>).  
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC244"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC243"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC245"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> Notation and Terminology </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC244::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1259"></A>
							 | 
						||
| 
								 | 
							
								This chapter uses the following notation:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<CODE>|</CODE> separates two alternatives.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<CODE>[ <VAR>something</VAR> ]</CODE> indicates that <VAR>something</VAR> is optional:
							 | 
						||
| 
								 | 
							
								it may or may not be given.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<CODE>( <VAR>group</VAR> )*</CODE> means that <VAR>group</VAR> inside the parentheses
							 | 
						||
| 
								 | 
							
								may repeat zero or more times.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<CODE>( <VAR>group</VAR> )+</CODE> means that <VAR>group</VAR> inside the parentheses
							 | 
						||
| 
								 | 
							
								may repeat one or more times.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<CODE>"<VAR>string</VAR>"</CODE> means a literal <VAR>string</VAR>.
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC245">24.1 GDB/MI Command Syntax</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC248">24.2 GDB/MI Compatibility with CLI</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC249">24.3 GDB/MI Development and Front Ends</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC250">24.4 GDB/MI Output Records</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC254">24.5 Simple Examples of GDB/MI Interaction</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC259">24.6 GDB/MI Command Description Format</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC267">24.7 GDB/MI Breakpoint Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC305">24.8 GDB/MI Program Context</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC330">24.9 GDB/MI Thread Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC347">24.10 GDB/MI Program Execution</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC388">24.11 GDB/MI Stack Manipulation Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC413">24.12 GDB/MI Variable Objects</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC449">24.13 GDB/MI Data Manipulation</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC475">24.14 GDB/MI Tracepoint Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC476">24.15 GDB/MI Symbol Query Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC521">24.16 GDB/MI File Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC554">24.17 GDB/MI Target Manipulation Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC595">24.18 GDB/MI File Transfer Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC608">24.19 Miscellaneous GDB/MI Commands</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Command Syntax"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC245"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC244"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC246"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.1 GDB/MI Command Syntax </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC245::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC246">24.1.1 GDB/MI Input Syntax</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC247">24.1.2 GDB/MI Output Syntax</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Input Syntax"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC246"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC245"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC247"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC245"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.1.1 GDB/MI Input Syntax </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC246::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1260"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1261"></A>
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>command</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>cli-command</VAR> | <VAR>mi-command</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>cli-command</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>[ <VAR>token</VAR> ] <VAR>cli-command</VAR> <VAR>nl</VAR></CODE>, where
							 | 
						||
| 
								 | 
							
								<VAR>cli-command</VAR> is any existing GDB CLI command.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>mi-command</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>[ <VAR>token</VAR> ] "-" <VAR>operation</VAR> ( " " <VAR>option</VAR> )*
							 | 
						||
| 
								 | 
							
								<CODE>[</CODE> " --" <CODE>]</CODE> ( " " <VAR>parameter</VAR> )* <VAR>nl</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>token</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD>"any sequence of digits"
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>option</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"-" <VAR>parameter</VAR> [ " " <VAR>parameter</VAR> ]</CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>parameter</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>non-blank-sequence</VAR> | <VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>operation</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><EM>any of the operations described in this chapter</EM>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>non-blank-sequence</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><EM>anything, provided it doesn't contain special characters such as
							 | 
						||
| 
								 | 
							
								"-", <VAR>nl</VAR>, """ and of course " "</EM>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>c-string</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>""" <VAR>seven-bit-iso-c-string-content</VAR> """</CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>nl</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>CR | CR-LF</CODE>
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Notes:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								The CLI commands are still handled by the MI interpreter; their
							 | 
						||
| 
								 | 
							
								output is described below.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								The <CODE><VAR>token</VAR></CODE>, when present, is passed back when the command
							 | 
						||
| 
								 | 
							
								finishes.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								Some MI commands accept optional arguments as part of the parameter
							 | 
						||
| 
								 | 
							
								list.  Each option is identified by a leading <SAMP>`-'</SAMP> (dash) and may be
							 | 
						||
| 
								 | 
							
								followed by an optional argument parameter.  Options occur first in the
							 | 
						||
| 
								 | 
							
								parameter list and can be delimited from normal parameters using
							 | 
						||
| 
								 | 
							
								<SAMP>`--'</SAMP> (this is useful when some parameters begin with a dash).
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Pragmatics:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								We want easy access to the existing CLI syntax (for debugging).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								We want it to be easy to spot a MI operation.
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Output Syntax"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC247"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC246"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC245"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.1.2 GDB/MI Output Syntax </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC247::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1262"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1263"></A>
							 | 
						||
| 
								 | 
							
								The output from GDB/MI consists of zero or more out-of-band records
							 | 
						||
| 
								 | 
							
								followed, optionally, by a single result record.  This result record
							 | 
						||
| 
								 | 
							
								is for the most recent command.  The sequence of output records is
							 | 
						||
| 
								 | 
							
								terminated by <SAMP>`(gdb)'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If an input command was prefixed with a <CODE><VAR>token</VAR></CODE> then the
							 | 
						||
| 
								 | 
							
								corresponding output for that command will also be prefixed by that same
							 | 
						||
| 
								 | 
							
								<VAR>token</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>( <VAR>out-of-band-record</VAR> )* [ <VAR>result-record</VAR> ] "(gdb)" <VAR>nl</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>result-record</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> [ <VAR>token</VAR> ] "^" <VAR>result-class</VAR> ( "," <VAR>result</VAR> )* <VAR>nl</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>out-of-band-record</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>async-record</VAR> | <VAR>stream-record</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>async-record</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>exec-async-output</VAR> | <VAR>status-async-output</VAR> | <VAR>notify-async-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>exec-async-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>[ <VAR>token</VAR> ] "*" <VAR>async-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>status-async-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>[ <VAR>token</VAR> ] "+" <VAR>async-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>notify-async-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>[ <VAR>token</VAR> ] "=" <VAR>async-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>async-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>async-class</VAR> ( "," <VAR>result</VAR> )* <VAR>nl</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>result-class</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"done" | "running" | "connected" | "error" | "exit"</CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>async-class</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"stopped" | <VAR>others</VAR></CODE> (where <VAR>others</VAR> will be added
							 | 
						||
| 
								 | 
							
								depending on the needs--this is still in development).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>result</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> <VAR>variable</VAR> "=" <VAR>value</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>variable</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> <VAR>string</VAR> </CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>value</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> <VAR>const</VAR> | <VAR>tuple</VAR> | <VAR>list</VAR> </CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>const</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>tuple</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> "{}" | "{" <VAR>result</VAR> ( "," <VAR>result</VAR> )* "}" </CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>list</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE> "[]" | "[" <VAR>value</VAR> ( "," <VAR>value</VAR> )* "]" | "["
							 | 
						||
| 
								 | 
							
								<VAR>result</VAR> ( "," <VAR>result</VAR> )* "]" </CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>stream-record</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE><VAR>console-stream-output</VAR> | <VAR>target-stream-output</VAR> | <VAR>log-stream-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>console-stream-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"~" <VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>target-stream-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"@" <VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>log-stream-output</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>"&" <VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>nl</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><CODE>CR | CR-LF</CODE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE><VAR>token</VAR> ==></CODE>
							 | 
						||
| 
								 | 
							
								<DD><EM>any sequence of digits</EM>.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Notes:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								All output sequences end in a single line containing a period.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								The <CODE><VAR>token</VAR></CODE> is from the corresponding request.  If an execution
							 | 
						||
| 
								 | 
							
								command is interrupted by the <SAMP>`-exec-interrupt'</SAMP> command, the
							 | 
						||
| 
								 | 
							
								<VAR>token</VAR> associated with the <SAMP>`*stopped'</SAMP> message is the one of the
							 | 
						||
| 
								 | 
							
								original execution command, not the one of the interrupt command.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1264"></A>
							 | 
						||
| 
								 | 
							
								<VAR>status-async-output</VAR> contains on-going status information about the
							 | 
						||
| 
								 | 
							
								progress of a slow operation.  It can be discarded.  All status output is
							 | 
						||
| 
								 | 
							
								prefixed by <SAMP>`+'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1265"></A>
							 | 
						||
| 
								 | 
							
								<VAR>exec-async-output</VAR> contains asynchronous state change on the target
							 | 
						||
| 
								 | 
							
								(stopped, started, disappeared).  All async output is prefixed by
							 | 
						||
| 
								 | 
							
								<SAMP>`*'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1266"></A>
							 | 
						||
| 
								 | 
							
								<VAR>notify-async-output</VAR> contains supplementary information that the
							 | 
						||
| 
								 | 
							
								client should handle (e.g., a new breakpoint information).  All notify
							 | 
						||
| 
								 | 
							
								output is prefixed by <SAMP>`='</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1267"></A>
							 | 
						||
| 
								 | 
							
								<VAR>console-stream-output</VAR> is output that should be displayed as is in the
							 | 
						||
| 
								 | 
							
								console.  It is the textual response to a CLI command.  All the console
							 | 
						||
| 
								 | 
							
								output is prefixed by <SAMP>`~'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1268"></A>
							 | 
						||
| 
								 | 
							
								<VAR>target-stream-output</VAR> is the output produced by the target program.
							 | 
						||
| 
								 | 
							
								All the target output is prefixed by <SAMP>`@'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1269"></A>
							 | 
						||
| 
								 | 
							
								<VAR>log-stream-output</VAR> is output text coming from GDB's internals, for
							 | 
						||
| 
								 | 
							
								instance messages that should be displayed as part of an error log.  All
							 | 
						||
| 
								 | 
							
								the log output is prefixed by <SAMP>`&'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1270"></A>
							 | 
						||
| 
								 | 
							
								New GDB/MI commands should only output <VAR>lists</VAR> containing
							 | 
						||
| 
								 | 
							
								<VAR>values</VAR>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								See section <A HREF="gdb_25.html#SEC252">GDB/MI Stream Records</A>, for more
							 | 
						||
| 
								 | 
							
								details about the various output records.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Compatibility with CLI"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC248"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC247"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC249"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC249"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.2 GDB/MI Compatibility with CLI </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC248::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1271"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1272"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For the developers convenience CLI commands can be entered directly,
							 | 
						||
| 
								 | 
							
								but there may be some unexpected behaviour.  For example, commands
							 | 
						||
| 
								 | 
							
								that query the user will behave as if the user replied yes, breakpoint
							 | 
						||
| 
								 | 
							
								command lists are not executed and some CLI commands, such as
							 | 
						||
| 
								 | 
							
								<CODE>if</CODE>, <CODE>when</CODE> and <CODE>define</CODE>, prompt for further input with
							 | 
						||
| 
								 | 
							
								<SAMP>`>'</SAMP>, which is not valid MI output.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This feature may be removed at some stage in the future and it is
							 | 
						||
| 
								 | 
							
								recommended that front ends use the <CODE>-interpreter-exec</CODE> command
							 | 
						||
| 
								 | 
							
								(see  <A HREF="gdb_25.html#-interpreter-exec">-interpreter-exec</A>).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Development and Front Ends"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC249"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.3 GDB/MI Development and Front Ends </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC249::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The application which takes the MI output and presents the state of the
							 | 
						||
| 
								 | 
							
								program being debugged to the user is called a <EM>front end</EM>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Although GDB/MI is still incomplete, it is currently being used
							 | 
						||
| 
								 | 
							
								by a variety of front ends to GDB.  This makes it difficult
							 | 
						||
| 
								 | 
							
								to introduce new functionality without breaking existing usage.  This
							 | 
						||
| 
								 | 
							
								section tries to minimize the problems by describing how the protocol
							 | 
						||
| 
								 | 
							
								might change.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Some changes in MI need not break a carefully designed front end, and
							 | 
						||
| 
								 | 
							
								for these the MI version will remain unchanged.  The following is a
							 | 
						||
| 
								 | 
							
								list of changes that may occur within one level, so front ends should
							 | 
						||
| 
								 | 
							
								parse MI output in a way that can handle them:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								New MI commands may be added.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								New fields may be added to the output of any MI command.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								The range of values for fields with specified values, e.g.,
							 | 
						||
| 
								 | 
							
								<CODE>in_scope</CODE> (see  <A HREF="gdb_25.html#-var-update">-var-update</A>) may be extended.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If the changes are likely to break front ends, the MI version level
							 | 
						||
| 
								 | 
							
								will be increased by one.  This will allow the front end to parse the
							 | 
						||
| 
								 | 
							
								output according to the MI version.  Apart from mi0, new versions of
							 | 
						||
| 
								 | 
							
								GDB will not support old versions of MI and it will be the
							 | 
						||
| 
								 | 
							
								responsibility of the front end to work with the new one.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The best way to avoid unexpected changes in MI that might break your front
							 | 
						||
| 
								 | 
							
								end is to make your project known to GDB developers and
							 | 
						||
| 
								 | 
							
								follow development on <A HREF="mailto:gdb@sourceware.org">gdb@sourceware.org</A> and
							 | 
						||
| 
								 | 
							
								<A HREF="mailto:gdb-patches@sourceware.org">gdb-patches@sourceware.org</A>.  There is also the mailing list
							 | 
						||
| 
								 | 
							
								<A HREF="mailto:dmi-discuss@lists.freestandards.org">dmi-discuss@lists.freestandards.org</A>, hosted by the Free Standards
							 | 
						||
| 
								 | 
							
								Group, which has the aim of creating a more general MI protocol
							 | 
						||
| 
								 | 
							
								called Debugger Machine Interface (DMI) that will become a standard
							 | 
						||
| 
								 | 
							
								for all debuggers, not just GDB.
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1273"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Output Records"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC250"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC249"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC251"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.4 GDB/MI Output Records </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC250::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC251">24.4.1 GDB/MI Result Records</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC252">24.4.2 GDB/MI Stream Records</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_25.html#SEC253">24.4.3 GDB/MI Out-of-band Records</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Result Records"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC251"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC252"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.4.1 GDB/MI Result Records </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC251::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1274"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1275"></A>
							 | 
						||
| 
								 | 
							
								In addition to a number of out-of-band notifications, the response to a
							 | 
						||
| 
								 | 
							
								GDB/MI command includes one of the following result indications:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1276"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>"^done" [ "," <VAR>results</VAR> ]</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The synchronous operation was successful, <CODE><VAR>results</VAR></CODE> are the return
							 | 
						||
| 
								 | 
							
								values.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"^running"</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1277"></A>
							 | 
						||
| 
								 | 
							
								The asynchronous operation was successfully started.  The target is
							 | 
						||
| 
								 | 
							
								running.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"^connected"</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1278"></A>
							 | 
						||
| 
								 | 
							
								GDB has connected to a remote target.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"^error" "," <VAR>c-string</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1279"></A>
							 | 
						||
| 
								 | 
							
								The operation failed.  The <CODE><VAR>c-string</VAR></CODE> contains the corresponding
							 | 
						||
| 
								 | 
							
								error message.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"^exit"</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1280"></A>
							 | 
						||
| 
								 | 
							
								GDB has terminated.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Stream Records"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC252"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC251"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC253"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC253"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.4.2 GDB/MI Stream Records </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC252::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1281"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1282"></A>
							 | 
						||
| 
								 | 
							
								GDB internally maintains a number of output streams: the console, the
							 | 
						||
| 
								 | 
							
								target, and the log.  The output intended for each of these streams is
							 | 
						||
| 
								 | 
							
								funneled through the GDB/MI interface using <EM>stream records</EM>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Each stream record begins with a unique <EM>prefix character</EM> which
							 | 
						||
| 
								 | 
							
								identifies its stream (see section <A HREF="gdb_25.html#SEC247">GDB/MI Output Syntax</A>).  In addition to the prefix, each stream record contains a
							 | 
						||
| 
								 | 
							
								<CODE><VAR>string-output</VAR></CODE>.  This is either raw text (with an implicit new
							 | 
						||
| 
								 | 
							
								line) or a quoted C string (which does not contain an implicit newline).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>"~" <VAR>string-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>The console output stream contains text that should be displayed in the
							 | 
						||
| 
								 | 
							
								CLI console window.  It contains the textual responses to CLI commands.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"@" <VAR>string-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>The target output stream contains any textual output from the running
							 | 
						||
| 
								 | 
							
								target.  This is only present when GDB's event loop is truly
							 | 
						||
| 
								 | 
							
								asynchronous, which is currently only the case for remote targets.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"&" <VAR>string-output</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>The log stream contains debugging messages being produced by GDB's
							 | 
						||
| 
								 | 
							
								internals.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Out-of-band Records"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC253"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC252"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC250"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.4.3 GDB/MI Out-of-band Records </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC253::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1283"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1284"></A>
							 | 
						||
| 
								 | 
							
								<EM>Out-of-band</EM> records are used to notify the GDB/MI client of
							 | 
						||
| 
								 | 
							
								additional changes that have occurred.  Those changes can either be a
							 | 
						||
| 
								 | 
							
								consequence of GDB/MI (e.g., a breakpoint modified) or a result of
							 | 
						||
| 
								 | 
							
								target activity (e.g., target stopped).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following is a preliminary list of possible out-of-band records.
							 | 
						||
| 
								 | 
							
								In particular, the <VAR>exec-async-output</VAR> records.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>*stopped,reason="<VAR>reason</VAR>"</CODE>
							 | 
						||
| 
								 | 
							
								<DD></DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<VAR>reason</VAR> can be one of the following:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>breakpoint-hit</CODE>
							 | 
						||
| 
								 | 
							
								<DD>A breakpoint was reached.
							 | 
						||
| 
								 | 
							
								<DT><CODE>watchpoint-trigger</CODE>
							 | 
						||
| 
								 | 
							
								<DD>A watchpoint was triggered.
							 | 
						||
| 
								 | 
							
								<DT><CODE>read-watchpoint-trigger</CODE>
							 | 
						||
| 
								 | 
							
								<DD>A read watchpoint was triggered.
							 | 
						||
| 
								 | 
							
								<DT><CODE>access-watchpoint-trigger</CODE>
							 | 
						||
| 
								 | 
							
								<DD>An access watchpoint was triggered.
							 | 
						||
| 
								 | 
							
								<DT><CODE>function-finished</CODE>
							 | 
						||
| 
								 | 
							
								<DD>An -exec-finish or similar CLI command was accomplished.
							 | 
						||
| 
								 | 
							
								<DT><CODE>location-reached</CODE>
							 | 
						||
| 
								 | 
							
								<DD>An -exec-until or similar CLI command was accomplished.
							 | 
						||
| 
								 | 
							
								<DT><CODE>watchpoint-scope</CODE>
							 | 
						||
| 
								 | 
							
								<DD>A watchpoint has gone out of scope.
							 | 
						||
| 
								 | 
							
								<DT><CODE>end-stepping-range</CODE>
							 | 
						||
| 
								 | 
							
								<DD>An -exec-next, -exec-next-instruction, -exec-step, -exec-step-instruction or 
							 | 
						||
| 
								 | 
							
								similar CLI command was accomplished.
							 | 
						||
| 
								 | 
							
								<DT><CODE>exited-signalled</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The inferior exited because of a signal.
							 | 
						||
| 
								 | 
							
								<DT><CODE>exited</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The inferior exited.
							 | 
						||
| 
								 | 
							
								<DT><CODE>exited-normally</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The inferior exited normally.
							 | 
						||
| 
								 | 
							
								<DT><CODE>signal-received</CODE>
							 | 
						||
| 
								 | 
							
								<DD>A signal was received by the inferior.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Simple Examples"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC254"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC253"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC259"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC259"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.5 Simple Examples of GDB/MI Interaction </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC254::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This subsection presents several simple examples of interaction using
							 | 
						||
| 
								 | 
							
								the GDB/MI interface.  In these examples, <SAMP>`->'</SAMP> means that the
							 | 
						||
| 
								 | 
							
								following line is passed to GDB/MI as input, while <SAMP>`<-'</SAMP> means
							 | 
						||
| 
								 | 
							
								the output received from GDB/MI.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note the line breaks shown in the examples are here only for
							 | 
						||
| 
								 | 
							
								readability, they don't appear in the real output.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC255"></A>
							 | 
						||
| 
								 | 
							
								<H3> Setting a Breakpoint </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC255::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Setting a breakpoint generates synchronous output which contains detailed
							 | 
						||
| 
								 | 
							
								information of the breakpoint.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-> -break-insert main
							 | 
						||
| 
								 | 
							
								<- ^done,bkpt={number="1",type="breakpoint",disp="keep",
							 | 
						||
| 
								 | 
							
								    enabled="y",addr="0x08048564",func="main",file="myprog.c",
							 | 
						||
| 
								 | 
							
								    fullname="/home/nickrob/myprog.c",line="68",times="0"}
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC256"></A>
							 | 
						||
| 
								 | 
							
								<H3> Program Execution </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC256::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Program execution generates asynchronous records and MI gives the
							 | 
						||
| 
								 | 
							
								reason that execution stopped.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-> -exec-run
							 | 
						||
| 
								 | 
							
								<- ^running
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								<- *stopped,reason="breakpoint-hit",bkptno="1",thread-id="0",
							 | 
						||
| 
								 | 
							
								   frame={addr="0x08048564",func="main",
							 | 
						||
| 
								 | 
							
								   args=[{name="argc",value="1"},{name="argv",value="0xbfc4d4d4"}],
							 | 
						||
| 
								 | 
							
								   file="myprog.c",fullname="/home/nickrob/myprog.c",line="68"}
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								-> -exec-continue
							 | 
						||
| 
								 | 
							
								<- ^running
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								<- *stopped,reason="exited-normally"
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC257"></A>
							 | 
						||
| 
								 | 
							
								<H3> Quitting GDB  </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC257::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Quitting GDB just prints the result class <SAMP>`^exit'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-> (gdb)
							 | 
						||
| 
								 | 
							
								<- -gdb-exit
							 | 
						||
| 
								 | 
							
								<- ^exit
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC258"></A>
							 | 
						||
| 
								 | 
							
								<H3> A Bad Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC258::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Here's what happens if you pass a non-existent command:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-> -rubbish
							 | 
						||
| 
								 | 
							
								<- ^error,msg="Undefined MI command: rubbish"
							 | 
						||
| 
								 | 
							
								<- (gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Command Description Format"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC259"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC254"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC267"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC267"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.6 GDB/MI Command Description Format </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC259::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The remaining sections describe blocks of commands.  Each block of
							 | 
						||
| 
								 | 
							
								commands is laid out in a fashion similar to this section.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC260"></A>
							 | 
						||
| 
								 | 
							
								<H3> Motivation </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC260::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The motivation for this collection of commands.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC261"></A>
							 | 
						||
| 
								 | 
							
								<H3> Introduction </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC261::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A brief introduction to this collection of commands as a whole.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC262"></A>
							 | 
						||
| 
								 | 
							
								<H3> Commands  </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC262::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For each command in the block, the following is described:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC263"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC263::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -command <VAR>args</VAR><small>...</small>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC264"></A>
							 | 
						||
| 
								 | 
							
								<H4> Result </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC264::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC265"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC265::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB CLI command(s), if any.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC266"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC266::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Example(s) formatted for readability.  Some of the described commands  have
							 | 
						||
| 
								 | 
							
								not been implemented yet and these are labeled N.A. (not available).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Breakpoint Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC267"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC259"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC305"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC305"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.7 GDB/MI Breakpoint Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC267::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1285"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1286"></A>
							 | 
						||
| 
								 | 
							
								This section documents GDB/MI commands for manipulating
							 | 
						||
| 
								 | 
							
								breakpoints.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC268"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-after</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC268::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC269"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC269::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-after <VAR>number</VAR> <VAR>count</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The breakpoint number <VAR>number</VAR> is not in effect until it has been
							 | 
						||
| 
								 | 
							
								hit <VAR>count</VAR> times.  To see how this is reflected in the output of
							 | 
						||
| 
								 | 
							
								the <SAMP>`-break-list'</SAMP> command, see the description of the
							 | 
						||
| 
								 | 
							
								<SAMP>`-break-list'</SAMP> command below.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC270"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC270::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`ignore'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC271"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC271::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert main
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="1",addr="0x000100d0",file="hello.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/hello.c",line="5",times="0"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-after 1 3
							 | 
						||
| 
								 | 
							
								~
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="1",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
							 | 
						||
| 
								 | 
							
								line="5",times="0",ignore="3"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC272"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-condition</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC272::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC273"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC273::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-condition <VAR>number</VAR> <VAR>expr</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Breakpoint <VAR>number</VAR> will stop the program only if the condition in
							 | 
						||
| 
								 | 
							
								<VAR>expr</VAR> is true.  The condition becomes part of the
							 | 
						||
| 
								 | 
							
								<SAMP>`-break-list'</SAMP> output (see the description of the <SAMP>`-break-list'</SAMP>
							 | 
						||
| 
								 | 
							
								command below).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC274"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC274::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`condition'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC275"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC275::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-condition 1 1
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="1",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
							 | 
						||
| 
								 | 
							
								line="5",cond="1",times="0",ignore="3"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC276"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-delete</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC276::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC277"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC277::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-delete ( <VAR>breakpoint</VAR> )+
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Delete the breakpoint(s) whose number(s) are specified in the argument
							 | 
						||
| 
								 | 
							
								list.  This is obviously reflected in the breakpoint list.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC278"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC278::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`delete'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC279"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC279::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-delete 1
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="0",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC280"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-disable</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC280::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC281"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC281::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-disable ( <VAR>breakpoint</VAR> )+
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disable the named <VAR>breakpoint</VAR>(s).  The field <SAMP>`enabled'</SAMP> in the
							 | 
						||
| 
								 | 
							
								break list is now set to <SAMP>`n'</SAMP> for the named <VAR>breakpoint</VAR>(s).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC282"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC282::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`disable'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC283"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC283::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-disable 2
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="1",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="2",type="breakpoint",disp="keep",enabled="n",
							 | 
						||
| 
								 | 
							
								addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
							 | 
						||
| 
								 | 
							
								line="5",times="0"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC284"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-enable</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC284::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC285"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC285::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-enable ( <VAR>breakpoint</VAR> )+
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Enable (previously disabled) <VAR>breakpoint</VAR>(s).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC286"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC286::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`enable'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC287"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC287::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-enable 2
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="1",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="2",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
							 | 
						||
| 
								 | 
							
								line="5",times="0"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC288"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-info</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC288::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC289"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC289::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-info <VAR>breakpoint</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Get information about a single breakpoint.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC290"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC290::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info break <VAR>breakpoint</VAR>'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC291"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC291::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC292"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-insert</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC292::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC293"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC293::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-insert [ -t ] [ -h ] [ -f ]
							 | 
						||
| 
								 | 
							
								    [ -c <VAR>condition</VAR> ] [ -i <VAR>ignore-count</VAR> ]
							 | 
						||
| 
								 | 
							
								    [ -p <VAR>thread</VAR> ] [ <VAR>location</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If specified, <VAR>location</VAR>, can be one of:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>function
							 | 
						||
| 
								 | 
							
								<LI>filename:linenum
							 | 
						||
| 
								 | 
							
								<LI>filename:function
							 | 
						||
| 
								 | 
							
								<LI>*address
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The possible optional parameters of this command are:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`-t'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Insert a temporary breakpoint.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`-h'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Insert a hardware breakpoint.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`-c <VAR>condition</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Make the breakpoint conditional on <VAR>condition</VAR>.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`-i <VAR>ignore-count</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Initialize the <VAR>ignore-count</VAR>.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`-f'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>If <VAR>location</VAR> cannot be parsed (for example if it
							 | 
						||
| 
								 | 
							
								refers to unknown files or functions), create a pending
							 | 
						||
| 
								 | 
							
								breakpoint. Without this flag, GDB will report
							 | 
						||
| 
								 | 
							
								an error, and won't create a breakpoint, if <VAR>location</VAR>
							 | 
						||
| 
								 | 
							
								cannot be parsed.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC294"></A>
							 | 
						||
| 
								 | 
							
								<H4> Result  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC294::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The result is in the form:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>^done,bkpt={number="<VAR>number</VAR>",type="<VAR>type</VAR>",disp="del"|"keep",
							 | 
						||
| 
								 | 
							
								enabled="y"|"n",addr="<VAR>hex</VAR>",func="<VAR>funcname</VAR>",file="<VAR>filename</VAR>",
							 | 
						||
| 
								 | 
							
								fullname="<VAR>full_filename</VAR>",line="<VAR>lineno</VAR>",[thread="<VAR>threadno</VAR>,]
							 | 
						||
| 
								 | 
							
								times="<VAR>times</VAR>"}
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								where <VAR>number</VAR> is the GDB number for this breakpoint,
							 | 
						||
| 
								 | 
							
								<VAR>funcname</VAR> is the name of the function where the breakpoint was
							 | 
						||
| 
								 | 
							
								inserted, <VAR>filename</VAR> is the name of the source file which contains
							 | 
						||
| 
								 | 
							
								this function, <VAR>lineno</VAR> is the source line number within that file
							 | 
						||
| 
								 | 
							
								and <VAR>times</VAR> the number of times that the breakpoint has been hit
							 | 
						||
| 
								 | 
							
								(always 0 for -break-insert but may be greater for -break-info or -break-list
							 | 
						||
| 
								 | 
							
								which use the same output).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note: this format is open to change.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC295"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC295::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`break'</SAMP>, <SAMP>`tbreak'</SAMP>,
							 | 
						||
| 
								 | 
							
								<SAMP>`hbreak'</SAMP>, <SAMP>`thbreak'</SAMP>, and <SAMP>`rbreak'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC296"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC296::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert main
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="1",addr="0x0001072c",file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/recursive2.c,line="4",times="0"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert -t foo
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="2",addr="0x00010774",file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/recursive2.c,line="11",times="0"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="2",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x0001072c", func="main",file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/recursive2.c,"line="4",times="0"},
							 | 
						||
| 
								 | 
							
								bkpt={number="2",type="breakpoint",disp="del",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x00010774",func="foo",file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/recursive2.c",line="11",times="0"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert -r foo.*
							 | 
						||
| 
								 | 
							
								~int foo(int, int);
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="3",addr="0x00010774",file="recursive2.c,
							 | 
						||
| 
								 | 
							
								"fullname="/home/foo/recursive2.c",line="11",times="0"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC297"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-list</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC297::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC298"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC298::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-list
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Displays the list of inserted breakpoints, showing the following fields:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Number'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>number of the breakpoint
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Type'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>type of the breakpoint: <SAMP>`breakpoint'</SAMP> or <SAMP>`watchpoint'</SAMP>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Disposition'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>should the breakpoint be deleted or disabled when it is hit: <SAMP>`keep'</SAMP>
							 | 
						||
| 
								 | 
							
								or <SAMP>`nokeep'</SAMP>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Enabled'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the breakpoint enabled or no: <SAMP>`y'</SAMP> or <SAMP>`n'</SAMP>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Address'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>memory location at which the breakpoint is set
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`What'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>logical location of the breakpoint, expressed by function name, file
							 | 
						||
| 
								 | 
							
								name, line number
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`Times'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>number of times the breakpoint has been hit
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If there are no breakpoints or watchpoints, the <CODE>BreakpointTable</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>body</CODE> field is an empty list.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC299"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC299::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info break'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC300"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC300::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="2",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x000100d0",func="main",file="hello.c",line="5",times="0"},
							 | 
						||
| 
								 | 
							
								bkpt={number="2",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x00010114",func="foo",file="hello.c",fullname="/home/foo/hello.c",
							 | 
						||
| 
								 | 
							
								line="13",times="0"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Here's an example of the result when there are no breakpoints:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="0",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC301"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-break-watch</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC301::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC302"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC302::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -break-watch [ -a | -r ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Create a watchpoint.  With the <SAMP>`-a'</SAMP> option it will create an
							 | 
						||
| 
								 | 
							
								<EM>access</EM> watchpoint, i.e., a watchpoint that triggers either on a
							 | 
						||
| 
								 | 
							
								read from or on a write to the memory location.  With the <SAMP>`-r'</SAMP>
							 | 
						||
| 
								 | 
							
								option, the watchpoint created is a <EM>read</EM> watchpoint, i.e., it will
							 | 
						||
| 
								 | 
							
								trigger only when the memory location is accessed for reading.  Without
							 | 
						||
| 
								 | 
							
								either of the options, the watchpoint created is a regular watchpoint,
							 | 
						||
| 
								 | 
							
								i.e., it will trigger when the memory location is accessed for writing.
							 | 
						||
| 
								 | 
							
								See section <A HREF="gdb_6.html#SEC34">Setting Watchpoints</A>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that <SAMP>`-break-list'</SAMP> will report a single list of watchpoints and
							 | 
						||
| 
								 | 
							
								breakpoints inserted.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC303"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC303::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`watch'</SAMP>, <SAMP>`awatch'</SAMP>, and
							 | 
						||
| 
								 | 
							
								<SAMP>`rwatch'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC304"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC304::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Setting a watchpoint on a variable in the <CODE>main</CODE> function:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-watch x
							 | 
						||
| 
								 | 
							
								^done,wpt={number="2",exp="x"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="watchpoint-trigger",wpt={number="2",exp="x"},
							 | 
						||
| 
								 | 
							
								value={old="-268439212",new="55"},
							 | 
						||
| 
								 | 
							
								frame={func="main",args=[],file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/recursive2.c",line="5"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Setting a watchpoint on a variable local to a function.  GDB will stop
							 | 
						||
| 
								 | 
							
								the program execution twice: first for the variable changing value, then
							 | 
						||
| 
								 | 
							
								for the watchpoint going out of scope.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-watch C
							 | 
						||
| 
								 | 
							
								^done,wpt={number="5",exp="C"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="watchpoint-trigger",
							 | 
						||
| 
								 | 
							
								wpt={number="5",exp="C"},value={old="-276895068",new="3"},
							 | 
						||
| 
								 | 
							
								frame={func="callee4",args=[],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="watchpoint-scope",wpnum="5",
							 | 
						||
| 
								 | 
							
								frame={func="callee3",args=[{name="strarg",
							 | 
						||
| 
								 | 
							
								value="0x11940 \"A string argument.\""}],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Listing breakpoints and watchpoints, at different points in the program
							 | 
						||
| 
								 | 
							
								execution.  Note that once the watchpoint goes out of scope, it is
							 | 
						||
| 
								 | 
							
								deleted.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-watch C
							 | 
						||
| 
								 | 
							
								^done,wpt={number="2",exp="C"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="2",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x00010734",func="callee4",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c"line="8",times="1"},
							 | 
						||
| 
								 | 
							
								bkpt={number="2",type="watchpoint",disp="keep",
							 | 
						||
| 
								 | 
							
								enabled="y",addr="",what="C",times="0"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="watchpoint-trigger",wpt={number="2",exp="C"},
							 | 
						||
| 
								 | 
							
								value={old="-276895068",new="3"},
							 | 
						||
| 
								 | 
							
								frame={func="callee4",args=[],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="2",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x00010734",func="callee4",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line="8",times="1"},
							 | 
						||
| 
								 | 
							
								bkpt={number="2",type="watchpoint",disp="keep",
							 | 
						||
| 
								 | 
							
								enabled="y",addr="",what="C",times="-5"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								^done,reason="watchpoint-scope",wpnum="2",
							 | 
						||
| 
								 | 
							
								frame={func="callee3",args=[{name="strarg",
							 | 
						||
| 
								 | 
							
								value="0x11940 \"A string argument.\""}],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-list
							 | 
						||
| 
								 | 
							
								^done,BreakpointTable={nr_rows="1",nr_cols="6",
							 | 
						||
| 
								 | 
							
								hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
							 | 
						||
| 
								 | 
							
								{width="14",alignment="-1",col_name="type",colhdr="Type"},
							 | 
						||
| 
								 | 
							
								{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
							 | 
						||
| 
								 | 
							
								{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
							 | 
						||
| 
								 | 
							
								{width="10",alignment="-1",col_name="addr",colhdr="Address"},
							 | 
						||
| 
								 | 
							
								{width="40",alignment="2",col_name="what",colhdr="What"}],
							 | 
						||
| 
								 | 
							
								body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x00010734",func="callee4",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line="8",
							 | 
						||
| 
								 | 
							
								times="1"}]}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Program Context"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC305"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC267"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC330"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC330"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.8 GDB/MI Program Context </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC305::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC306"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-arguments</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC306::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC307"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC307::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-arguments <VAR>args</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set the inferior program arguments, to be used in the next
							 | 
						||
| 
								 | 
							
								<SAMP>`-exec-run'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC308"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC308::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`set args'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC309"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC309::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Don't have one around.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC310"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-show-arguments</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC310::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC311"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC311::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-show-arguments
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Print the arguments of the program.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC312"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC312::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`show args'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC313"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC313::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC314"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-environment-cd</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC314::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC315"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC315::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -environment-cd <VAR>pathdir</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set GDB's working directory.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC316"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC316::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`cd'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC317"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC317::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-environment-cd /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC318"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-environment-directory</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC318::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC319"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC319::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -environment-directory [ -r ] [ <VAR>pathdir</VAR> ]+
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Add directories <VAR>pathdir</VAR> to beginning of search path for source files.
							 | 
						||
| 
								 | 
							
								If the <SAMP>`-r'</SAMP> option is used, the search path is reset to the default
							 | 
						||
| 
								 | 
							
								search path.  If directories <VAR>pathdir</VAR> are supplied in addition to the
							 | 
						||
| 
								 | 
							
								<SAMP>`-r'</SAMP> option, the search path is first reset and then addition
							 | 
						||
| 
								 | 
							
								occurs as normal.
							 | 
						||
| 
								 | 
							
								Multiple directories may be specified, separated by blanks.  Specifying
							 | 
						||
| 
								 | 
							
								multiple directories in a single command
							 | 
						||
| 
								 | 
							
								results in the directories added to the beginning of the
							 | 
						||
| 
								 | 
							
								search path in the same order they were presented in the command.
							 | 
						||
| 
								 | 
							
								If blanks are needed as
							 | 
						||
| 
								 | 
							
								part of a directory name, double-quotes should be used around
							 | 
						||
| 
								 | 
							
								the name.  In the command output, the path will show up separated
							 | 
						||
| 
								 | 
							
								by the system directory-separator character.  The directory-separator
							 | 
						||
| 
								 | 
							
								character must not be used
							 | 
						||
| 
								 | 
							
								in any directory name.
							 | 
						||
| 
								 | 
							
								If no directories are specified, the current search path is displayed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC320"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC320::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`dir'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC321"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC321::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-environment-directory /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
							 | 
						||
| 
								 | 
							
								^done,source-path="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-environment-directory ""
							 | 
						||
| 
								 | 
							
								^done,source-path="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-environment-directory -r /home/jjohnstn/src/gdb /usr/src
							 | 
						||
| 
								 | 
							
								^done,source-path="/home/jjohnstn/src/gdb:/usr/src:$cdir:$cwd"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-environment-directory -r
							 | 
						||
| 
								 | 
							
								^done,source-path="$cdir:$cwd"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC322"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-environment-path</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC322::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC323"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC323::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -environment-path [ -r ] [ <VAR>pathdir</VAR> ]+
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Add directories <VAR>pathdir</VAR> to beginning of search path for object files.
							 | 
						||
| 
								 | 
							
								If the <SAMP>`-r'</SAMP> option is used, the search path is reset to the original
							 | 
						||
| 
								 | 
							
								search path that existed at gdb start-up.  If directories <VAR>pathdir</VAR> are
							 | 
						||
| 
								 | 
							
								supplied in addition to the
							 | 
						||
| 
								 | 
							
								<SAMP>`-r'</SAMP> option, the search path is first reset and then addition
							 | 
						||
| 
								 | 
							
								occurs as normal.
							 | 
						||
| 
								 | 
							
								Multiple directories may be specified, separated by blanks.  Specifying
							 | 
						||
| 
								 | 
							
								multiple directories in a single command
							 | 
						||
| 
								 | 
							
								results in the directories added to the beginning of the
							 | 
						||
| 
								 | 
							
								search path in the same order they were presented in the command.
							 | 
						||
| 
								 | 
							
								If blanks are needed as
							 | 
						||
| 
								 | 
							
								part of a directory name, double-quotes should be used around
							 | 
						||
| 
								 | 
							
								the name.  In the command output, the path will show up separated
							 | 
						||
| 
								 | 
							
								by the system directory-separator character.  The directory-separator
							 | 
						||
| 
								 | 
							
								character must not be used
							 | 
						||
| 
								 | 
							
								in any directory name.
							 | 
						||
| 
								 | 
							
								If no directories are specified, the current path is displayed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC324"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC324::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`path'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC325"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC325::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-environment-path
							 | 
						||
| 
								 | 
							
								^done,path="/usr/bin"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-environment-path /kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb /bin
							 | 
						||
| 
								 | 
							
								^done,path="/kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb:/bin:/usr/bin"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-environment-path -r /usr/local/bin
							 | 
						||
| 
								 | 
							
								^done,path="/usr/local/bin:/usr/bin"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC326"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-environment-pwd</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC326::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC327"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC327::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -environment-pwd
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show the current working directory.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC328"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC328::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`pwd'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC329"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC329::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-environment-pwd
							 | 
						||
| 
								 | 
							
								^done,cwd="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Thread Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC330"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC305"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC347"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.9 GDB/MI Thread Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC330::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC331"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-thread-info</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC331::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC332"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC332::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -thread-info
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC333"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC333::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								No equivalent.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC334"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC334::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC335"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-thread-list-all-threads</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC335::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC336"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC336::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -thread-list-all-threads
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC337"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC337::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The equivalent GDB command is <SAMP>`info threads'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC338"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC338::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC339"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-thread-list-ids</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC339::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC340"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC340::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -thread-list-ids
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Produces a list of the currently known GDB thread ids.  At the
							 | 
						||
| 
								 | 
							
								end of the list it also prints the total number of such threads.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC341"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC341::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Part of <SAMP>`info threads'</SAMP> supplies the same information.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC342"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC342::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								No threads present, besides the main process:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-thread-list-ids
							 | 
						||
| 
								 | 
							
								^done,thread-ids={},number-of-threads="0"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Several threads:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-thread-list-ids
							 | 
						||
| 
								 | 
							
								^done,thread-ids={thread-id="3",thread-id="2",thread-id="1"},
							 | 
						||
| 
								 | 
							
								number-of-threads="3"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC343"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-thread-select</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC343::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC344"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC344::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -thread-select <VAR>threadnum</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Make <VAR>threadnum</VAR> the current thread.  It prints the number of the new
							 | 
						||
| 
								 | 
							
								current thread, and the topmost frame for that thread.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC345"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC345::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`thread'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC346"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC346::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-next
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",thread-id="2",line="187",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.threads/linux-dp.c"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-thread-list-ids
							 | 
						||
| 
								 | 
							
								^done,
							 | 
						||
| 
								 | 
							
								thread-ids={thread-id="3",thread-id="2",thread-id="1"},
							 | 
						||
| 
								 | 
							
								number-of-threads="3"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-thread-select 3
							 | 
						||
| 
								 | 
							
								^done,new-thread-id="3",
							 | 
						||
| 
								 | 
							
								frame={level="0",func="vprintf",
							 | 
						||
| 
								 | 
							
								args=[{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""},
							 | 
						||
| 
								 | 
							
								{name="arg",value="0x2"}],file="vprintf.c",line="31"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Program Execution"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC347"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC330"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC388"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.10 GDB/MI Program Execution </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC347::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								These are the asynchronous commands which generate the out-of-band
							 | 
						||
| 
								 | 
							
								record <SAMP>`*stopped'</SAMP>.  Currently GDB only really executes
							 | 
						||
| 
								 | 
							
								asynchronously with remote targets and this interaction is mimicked in
							 | 
						||
| 
								 | 
							
								other cases.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC348"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-continue</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC348::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC349"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC349::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-continue
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Resumes the execution of the inferior program until a breakpoint is
							 | 
						||
| 
								 | 
							
								encountered, or until the inferior exits.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC350"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC350::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB corresponding is <SAMP>`continue'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC351"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC351::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								@Hello world
							 | 
						||
| 
								 | 
							
								*stopped,reason="breakpoint-hit",bkptno="2",frame={func="foo",args=[],
							 | 
						||
| 
								 | 
							
								file="hello.c",fullname="/home/foo/bar/hello.c",line="13"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC352"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-finish</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC352::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC353"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC353::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-finish
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Resumes the execution of the inferior program until the current
							 | 
						||
| 
								 | 
							
								function is exited.  Displays the results returned by the function.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC354"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC354::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`finish'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC355"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC355::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Function returning <CODE>void</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-finish
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								@hello from foo
							 | 
						||
| 
								 | 
							
								*stopped,reason="function-finished",frame={func="main",args=[],
							 | 
						||
| 
								 | 
							
								file="hello.c",fullname="/home/foo/bar/hello.c",line="7"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Function returning other than <CODE>void</CODE>.  The name of the internal
							 | 
						||
| 
								 | 
							
								GDB variable storing the result is printed, together with the
							 | 
						||
| 
								 | 
							
								value itself.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-finish
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="function-finished",frame={addr="0x000107b0",func="foo",
							 | 
						||
| 
								 | 
							
								args=[{name="a",value="1"],{name="b",value="9"}},
							 | 
						||
| 
								 | 
							
								file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								gdb-result-var="$1",return-value="0"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC356"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-interrupt</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC356::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC357"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC357::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-interrupt
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Interrupts the background execution of the target.  Note how the token
							 | 
						||
| 
								 | 
							
								associated with the stop message is the one for the execution command
							 | 
						||
| 
								 | 
							
								that has been interrupted.  The token for the interrupt itself only
							 | 
						||
| 
								 | 
							
								appears in the <SAMP>`^done'</SAMP> output.  If the user is trying to
							 | 
						||
| 
								 | 
							
								interrupt a non-running program, an error message will be printed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC358"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC358::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`interrupt'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC359"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC359::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								111-exec-continue
							 | 
						||
| 
								 | 
							
								111^running
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								222-exec-interrupt
							 | 
						||
| 
								 | 
							
								222^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
							 | 
						||
| 
								 | 
							
								frame={addr="0x00010140",func="foo",args=[],file="try.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/try.c",line="13"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-interrupt
							 | 
						||
| 
								 | 
							
								^error,msg="mi_cmd_exec_interrupt: Inferior not executing."
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC360"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-next</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC360::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC361"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC361::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-next
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Resumes execution of the inferior program, stopping when the beginning
							 | 
						||
| 
								 | 
							
								of the next source line is reached.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC362"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC362::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`next'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC363"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC363::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-next
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",line="8",file="hello.c"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC364"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-next-instruction</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC364::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC365"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC365::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-next-instruction
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Executes one machine instruction.  If the instruction is a function
							 | 
						||
| 
								 | 
							
								call, continues until the function returns.  If the program stops at an
							 | 
						||
| 
								 | 
							
								instruction in the middle of a source line, the address will be
							 | 
						||
| 
								 | 
							
								printed as well.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC366"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC366::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`nexti'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC367"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC367::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-next-instruction
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",
							 | 
						||
| 
								 | 
							
								addr="0x000100d4",line="5",file="hello.c"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC368"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-return</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC368::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC369"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC369::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-return
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Makes current function return immediately.  Doesn't execute the inferior.
							 | 
						||
| 
								 | 
							
								Displays the new current frame.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC370"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC370::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`return'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC371"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC371::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								200-break-insert callee4
							 | 
						||
| 
								 | 
							
								200^done,bkpt={number="1",addr="0x00010734",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								000-exec-run
							 | 
						||
| 
								 | 
							
								000^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								000*stopped,reason="breakpoint-hit",bkptno="1",
							 | 
						||
| 
								 | 
							
								frame={func="callee4",args=[],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								205-break-delete
							 | 
						||
| 
								 | 
							
								205^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								111-exec-return
							 | 
						||
| 
								 | 
							
								111^done,frame={level="0",func="callee3",
							 | 
						||
| 
								 | 
							
								args=[{name="strarg",
							 | 
						||
| 
								 | 
							
								value="0x11940 \"A string argument.\""}],
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC372"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-run</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC372::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC373"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC373::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-run
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Starts execution of the inferior from the beginning.  The inferior
							 | 
						||
| 
								 | 
							
								executes until either a breakpoint is encountered or the program
							 | 
						||
| 
								 | 
							
								exits.  In the latter case the output will include an exit code, if
							 | 
						||
| 
								 | 
							
								the program has exited exceptionally.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC374"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC374::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`run'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC375"></A>
							 | 
						||
| 
								 | 
							
								<H4> Examples </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC375::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert main
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="1",addr="0x0001072c",file="recursive2.c",line="4"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-run
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="breakpoint-hit",bkptno="1",
							 | 
						||
| 
								 | 
							
								frame={func="main",args=[],file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/recursive2.c",line="4"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Program exited normally:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-run
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								x = 55
							 | 
						||
| 
								 | 
							
								*stopped,reason="exited-normally"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Program exited exceptionally:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-run
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								x = 55
							 | 
						||
| 
								 | 
							
								*stopped,reason="exited",exit-code="01"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Another way the program can terminate is if it receives a signal such as
							 | 
						||
| 
								 | 
							
								<CODE>SIGINT</CODE>.  In this case, GDB/MI displays this:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="exited-signalled",signal-name="SIGINT",
							 | 
						||
| 
								 | 
							
								signal-meaning="Interrupt"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC376"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-step</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC376::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC377"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC377::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-step
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Resumes execution of the inferior program, stopping when the beginning
							 | 
						||
| 
								 | 
							
								of the next source line is reached, if the next source line is not a
							 | 
						||
| 
								 | 
							
								function call.  If it is, stop at the first instruction of the called
							 | 
						||
| 
								 | 
							
								function.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC378"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC378::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`step'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC379"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC379::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Stepping into a function:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-step
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",
							 | 
						||
| 
								 | 
							
								frame={func="foo",args=[{name="a",value="10"},
							 | 
						||
| 
								 | 
							
								{name="b",value="0"}],file="recursive2.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/recursive2.c",line="11"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Regular stepping:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-exec-step
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",line="14",file="recursive2.c"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC380"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-step-instruction</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC380::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC381"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC381::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-step-instruction
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Resumes the inferior which executes one machine instruction.  The
							 | 
						||
| 
								 | 
							
								output, once GDB has stopped, will vary depending on whether
							 | 
						||
| 
								 | 
							
								we have stopped in the middle of a source line or not.  In the former
							 | 
						||
| 
								 | 
							
								case, the address at which the program stopped will be printed as
							 | 
						||
| 
								 | 
							
								well.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC382"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC382::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`stepi'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC383"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC383::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-step-instruction
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",
							 | 
						||
| 
								 | 
							
								frame={func="foo",args=[],file="try.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/try.c",line="10"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-step-instruction
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="end-stepping-range",
							 | 
						||
| 
								 | 
							
								frame={addr="0x000100f4",func="foo",args=[],file="try.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/try.c",line="10"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC384"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-until</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC384::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC385"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC385::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-until [ <VAR>location</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Executes the inferior until the <VAR>location</VAR> specified in the
							 | 
						||
| 
								 | 
							
								argument is reached.  If there is no argument, the inferior executes
							 | 
						||
| 
								 | 
							
								until a source line greater than the current one is reached.  The
							 | 
						||
| 
								 | 
							
								reason for stopping in this case will be <SAMP>`location-reached'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC386"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC386::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`until'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC387"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC387::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-until recursive2.c:6
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								x = 55
							 | 
						||
| 
								 | 
							
								*stopped,reason="location-reached",frame={func="main",args=[],
							 | 
						||
| 
								 | 
							
								file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="6"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Stack Manipulation"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC388"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC347"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC413"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.11 GDB/MI Stack Manipulation Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC388::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC389"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-info-frame</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC389::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC390"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC390::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-info-frame
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Get info on the selected frame.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC391"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC391::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info frame'</SAMP> or <SAMP>`frame'</SAMP>
							 | 
						||
| 
								 | 
							
								(without arguments).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC392"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC392::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-frame
							 | 
						||
| 
								 | 
							
								^done,frame={level="1",addr="0x0001076c",func="callee3",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC393"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-info-depth</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC393::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC394"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC394::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-info-depth [ <VAR>max-depth</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Return the depth of the stack.  If the integer argument <VAR>max-depth</VAR>
							 | 
						||
| 
								 | 
							
								is specified, do not count beyond <VAR>max-depth</VAR> frames.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC395"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC395::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There's no equivalent GDB command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC396"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC396::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For a stack with frame levels 0 through 11:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-depth
							 | 
						||
| 
								 | 
							
								^done,depth="12"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-depth 4
							 | 
						||
| 
								 | 
							
								^done,depth="4"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-depth 12
							 | 
						||
| 
								 | 
							
								^done,depth="12"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-depth 11
							 | 
						||
| 
								 | 
							
								^done,depth="11"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-info-depth 13
							 | 
						||
| 
								 | 
							
								^done,depth="12"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC397"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-list-arguments</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC397::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC398"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC398::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-list-arguments <VAR>show-values</VAR>
							 | 
						||
| 
								 | 
							
								    [ <VAR>low-frame</VAR> <VAR>high-frame</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Display a list of the arguments for the frames between <VAR>low-frame</VAR>
							 | 
						||
| 
								 | 
							
								and <VAR>high-frame</VAR> (inclusive).  If <VAR>low-frame</VAR> and
							 | 
						||
| 
								 | 
							
								<VAR>high-frame</VAR> are not provided, list the arguments for the whole
							 | 
						||
| 
								 | 
							
								call stack.  If the two arguments are equal, show the single frame
							 | 
						||
| 
								 | 
							
								at the corresponding level.  It is an error if <VAR>low-frame</VAR> is
							 | 
						||
| 
								 | 
							
								larger than the actual number of frames.  On the other hand,
							 | 
						||
| 
								 | 
							
								<VAR>high-frame</VAR> may be larger than the actual number of frames, in
							 | 
						||
| 
								 | 
							
								which case only existing frames will be returned.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The <VAR>show-values</VAR> argument must have a value of 0 or 1.  A value of
							 | 
						||
| 
								 | 
							
								0 means that only the names of the arguments are listed, a value of 1
							 | 
						||
| 
								 | 
							
								means that both names and values of the arguments are printed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC399"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC399::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB does not have an equivalent command.  <CODE>gdbtk</CODE> has a
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_get_args'</SAMP> command which partially overlaps with the
							 | 
						||
| 
								 | 
							
								functionality of <SAMP>`-stack-list-arguments'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC400"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC400::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-frames
							 | 
						||
| 
								 | 
							
								^done,
							 | 
						||
| 
								 | 
							
								stack=[
							 | 
						||
| 
								 | 
							
								frame={level="0",addr="0x00010734",func="callee4",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"},
							 | 
						||
| 
								 | 
							
								frame={level="1",addr="0x0001076c",func="callee3",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"},
							 | 
						||
| 
								 | 
							
								frame={level="2",addr="0x0001078c",func="callee2",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="22"},
							 | 
						||
| 
								 | 
							
								frame={level="3",addr="0x000107b4",func="callee1",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="27"},
							 | 
						||
| 
								 | 
							
								frame={level="4",addr="0x000107e0",func="main",
							 | 
						||
| 
								 | 
							
								file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="32"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-arguments 0
							 | 
						||
| 
								 | 
							
								^done,
							 | 
						||
| 
								 | 
							
								stack-args=[
							 | 
						||
| 
								 | 
							
								frame={level="0",args=[]},
							 | 
						||
| 
								 | 
							
								frame={level="1",args=[name="strarg"]},
							 | 
						||
| 
								 | 
							
								frame={level="2",args=[name="intarg",name="strarg"]},
							 | 
						||
| 
								 | 
							
								frame={level="3",args=[name="intarg",name="strarg",name="fltarg"]},
							 | 
						||
| 
								 | 
							
								frame={level="4",args=[]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-arguments 1
							 | 
						||
| 
								 | 
							
								^done,
							 | 
						||
| 
								 | 
							
								stack-args=[
							 | 
						||
| 
								 | 
							
								frame={level="0",args=[]},
							 | 
						||
| 
								 | 
							
								frame={level="1",
							 | 
						||
| 
								 | 
							
								 args=[{name="strarg",value="0x11940 \"A string argument.\""}]},
							 | 
						||
| 
								 | 
							
								frame={level="2",args=[
							 | 
						||
| 
								 | 
							
								{name="intarg",value="2"},
							 | 
						||
| 
								 | 
							
								{name="strarg",value="0x11940 \"A string argument.\""}]},
							 | 
						||
| 
								 | 
							
								{frame={level="3",args=[
							 | 
						||
| 
								 | 
							
								{name="intarg",value="2"},
							 | 
						||
| 
								 | 
							
								{name="strarg",value="0x11940 \"A string argument.\""},
							 | 
						||
| 
								 | 
							
								{name="fltarg",value="3.5"}]},
							 | 
						||
| 
								 | 
							
								frame={level="4",args=[]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-arguments 0 2 2
							 | 
						||
| 
								 | 
							
								^done,stack-args=[frame={level="2",args=[name="intarg",name="strarg"]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-arguments 1 2 2
							 | 
						||
| 
								 | 
							
								^done,stack-args=[frame={level="2",
							 | 
						||
| 
								 | 
							
								args=[{name="intarg",value="2"},
							 | 
						||
| 
								 | 
							
								{name="strarg",value="0x11940 \"A string argument.\""}]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC401"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-list-frames</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC401::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC402"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC402::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-list-frames [ <VAR>low-frame</VAR> <VAR>high-frame</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the frames currently on the stack.  For each frame it displays the
							 | 
						||
| 
								 | 
							
								following info:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>level</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The frame number, 0 being the topmost frame, i.e., the innermost function.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>addr</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The <CODE>$pc</CODE> value for that frame.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>func</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Function name.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>file</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>File name of the source file where the function lives.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>line</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Line number corresponding to the <CODE>$pc</CODE>.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If invoked without arguments, this command prints a backtrace for the
							 | 
						||
| 
								 | 
							
								whole stack.  If given two integer arguments, it shows the frames whose
							 | 
						||
| 
								 | 
							
								levels are between the two arguments (inclusive).  If the two arguments
							 | 
						||
| 
								 | 
							
								are equal, it shows the single frame at the corresponding level.  It is
							 | 
						||
| 
								 | 
							
								an error if <VAR>low-frame</VAR> is larger than the actual number of
							 | 
						||
| 
								 | 
							
								frames.  On the other hand, <VAR>high-frame</VAR> may be larger than the
							 | 
						||
| 
								 | 
							
								actual number of frames, in which case only existing frames will be returned.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC403"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC403::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`backtrace'</SAMP> and <SAMP>`where'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC404"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC404::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Full stack backtrace:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-frames
							 | 
						||
| 
								 | 
							
								^done,stack=
							 | 
						||
| 
								 | 
							
								[frame={level="0",addr="0x0001076c",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="11"},
							 | 
						||
| 
								 | 
							
								frame={level="1",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="2",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="3",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="4",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="5",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="6",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="7",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="8",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="9",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="10",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="11",addr="0x00010738",func="main",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="4"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show frames between <VAR>low_frame</VAR> and <VAR>high_frame</VAR>:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-frames 3 5
							 | 
						||
| 
								 | 
							
								^done,stack=
							 | 
						||
| 
								 | 
							
								[frame={level="3",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="4",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"},
							 | 
						||
| 
								 | 
							
								frame={level="5",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show a single frame:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-frames 3 3
							 | 
						||
| 
								 | 
							
								^done,stack=
							 | 
						||
| 
								 | 
							
								[frame={level="3",addr="0x000107a4",func="foo",
							 | 
						||
| 
								 | 
							
								  file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC405"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-list-locals</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC405::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC406"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC406::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-list-locals <VAR>print-values</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Display the local variable names for the selected frame.  If
							 | 
						||
| 
								 | 
							
								<VAR>print-values</VAR> is 0 or <CODE>--no-values</CODE>, print only the names of
							 | 
						||
| 
								 | 
							
								the variables; if it is 1 or <CODE>--all-values</CODE>, print also their
							 | 
						||
| 
								 | 
							
								values; and if it is 2 or <CODE>--simple-values</CODE>, print the name,
							 | 
						||
| 
								 | 
							
								type and value for simple data types and the name and type for arrays,
							 | 
						||
| 
								 | 
							
								structures and unions.  In this last case, a frontend can immediately
							 | 
						||
| 
								 | 
							
								display the value of simple data types and create variable objects for
							 | 
						||
| 
								 | 
							
								other data types when the user wishes to explore their values in
							 | 
						||
| 
								 | 
							
								more detail.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC407"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC407::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<SAMP>`info locals'</SAMP> in GDB, <SAMP>`gdb_get_locals'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC408"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC408::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-locals 0
							 | 
						||
| 
								 | 
							
								^done,locals=[name="A",name="B",name="C"]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-stack-list-locals --all-values
							 | 
						||
| 
								 | 
							
								^done,locals=[{name="A",value="1"},{name="B",value="2"},
							 | 
						||
| 
								 | 
							
								  {name="C",value="{1, 2, 3}"}]
							 | 
						||
| 
								 | 
							
								-stack-list-locals --simple-values
							 | 
						||
| 
								 | 
							
								^done,locals=[{name="A",type="int",value="1"},
							 | 
						||
| 
								 | 
							
								  {name="B",type="int",value="2"},{name="C",type="int [3]"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC409"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-stack-select-frame</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC409::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC410"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC410::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -stack-select-frame <VAR>framenum</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Change the selected frame.  Select a different frame <VAR>framenum</VAR> on
							 | 
						||
| 
								 | 
							
								the stack.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC411"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC411::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`frame'</SAMP>, <SAMP>`up'</SAMP>,
							 | 
						||
| 
								 | 
							
								<SAMP>`down'</SAMP>, <SAMP>`select-frame'</SAMP>, <SAMP>`up-silent'</SAMP>, and <SAMP>`down-silent'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC412"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC412::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-stack-select-frame 2
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Variable Objects"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC413"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC388"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC449"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.12 GDB/MI Variable Objects </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC413::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC414"></A>
							 | 
						||
| 
								 | 
							
								<H3> Introduction to Variable Objects </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC414::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1287"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Variable objects are "object-oriented" MI interface for examining and
							 | 
						||
| 
								 | 
							
								changing values of expressions.  Unlike some other MI interfaces that
							 | 
						||
| 
								 | 
							
								work with expressions, variable objects are specifically designed for
							 | 
						||
| 
								 | 
							
								simple and efficient presentation in the frontend.  A variable object
							 | 
						||
| 
								 | 
							
								is identified by string name.  When a variable object is created, the
							 | 
						||
| 
								 | 
							
								frontend specifies the expression for that variable object.  The
							 | 
						||
| 
								 | 
							
								expression can be a simple variable, or it can be an arbitrary complex
							 | 
						||
| 
								 | 
							
								expression, and can even involve CPU registers.  After creating a
							 | 
						||
| 
								 | 
							
								variable object, the frontend can invoke other variable object
							 | 
						||
| 
								 | 
							
								operations--for example to obtain or change the value of a variable
							 | 
						||
| 
								 | 
							
								object, or to change display format.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Variable objects have hierarchical tree structure.  Any variable object
							 | 
						||
| 
								 | 
							
								that corresponds to a composite type, such as structure in C, has
							 | 
						||
| 
								 | 
							
								a number of child variable objects, for example corresponding to each
							 | 
						||
| 
								 | 
							
								element of a structure.  A child variable object can itself have 
							 | 
						||
| 
								 | 
							
								children, recursively.  Recursion ends when we reach 
							 | 
						||
| 
								 | 
							
								leaf variable objects, which always have built-in types.  Child variable
							 | 
						||
| 
								 | 
							
								objects are created only by explicit request, so if a frontend 
							 | 
						||
| 
								 | 
							
								is not interested in the children of a particular variable object, no
							 | 
						||
| 
								 | 
							
								child will be created.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For a leaf variable object it is possible to obtain its value as a
							 | 
						||
| 
								 | 
							
								string, or set the value from a string.  String value can be also
							 | 
						||
| 
								 | 
							
								obtained for a non-leaf variable object, but it's generally a string
							 | 
						||
| 
								 | 
							
								that only indicates the type of the object, and does not list its
							 | 
						||
| 
								 | 
							
								contents.  Assignment to a non-leaf variable object is not allowed.
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								A frontend does not need to read the values of all variable objects each time
							 | 
						||
| 
								 | 
							
								the program stops.  Instead, MI provides an update command that lists all
							 | 
						||
| 
								 | 
							
								variable objects whose values has changed since the last update
							 | 
						||
| 
								 | 
							
								operation.  This considerably reduces the amount of data that must
							 | 
						||
| 
								 | 
							
								be transferred to the frontend.  As noted above, children variable
							 | 
						||
| 
								 | 
							
								objects are created on demand, and only leaf variable objects have a
							 | 
						||
| 
								 | 
							
								real value.  As result, gdb will read target memory only for leaf
							 | 
						||
| 
								 | 
							
								variables that frontend has created.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The automatic update is not always desirable.  For example, a frontend
							 | 
						||
| 
								 | 
							
								might want to keep a value of some expression for future reference,
							 | 
						||
| 
								 | 
							
								and never update it.  For another example,  fetching memory is
							 | 
						||
| 
								 | 
							
								relatively slow for embedded targets, so a frontend might want
							 | 
						||
| 
								 | 
							
								to disable automatic update for the variables that are either not
							 | 
						||
| 
								 | 
							
								visible on the screen, or "closed".  This is possible using so
							 | 
						||
| 
								 | 
							
								called "frozen variable objects".  Such variable objects are never
							 | 
						||
| 
								 | 
							
								implicitly updated.  
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following is the complete set of GDB/MI operations defined to
							 | 
						||
| 
								 | 
							
								access this functionality:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE>
							 | 
						||
| 
								 | 
							
								<TR><TD><STRONG>Operation</STRONG></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> <STRONG>Description</STRONG>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-create</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> create a variable object
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-delete</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> delete the variable object and/or its children
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-set-format</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> set the display format of this variable
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-show-format</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> show the display format of this variable
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-info-num-children</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> tells how many children this object has
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-list-children</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> return a list of the object's children
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-info-type</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> show the type of this variable object
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-info-expression</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> print parent-relative expression that this variable object represents
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-info-path-expression</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> print full expression that this variable object represents
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-show-attributes</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> is this variable editable? does it exist here?
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-evaluate-expression</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> get the value of this variable
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-assign</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> set the value of this variable
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-update</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> update the variable and its children
							 | 
						||
| 
								 | 
							
								</TR>
							 | 
						||
| 
								 | 
							
								<TR><TD><CODE>-var-set-frozen</CODE></TD>
							 | 
						||
| 
								 | 
							
								</TD><TD> set frozeness attribute
							 | 
						||
| 
								 | 
							
								</TR></TABLE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In the next subsection we describe each operation in detail and suggest
							 | 
						||
| 
								 | 
							
								how it can be used.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC415"></A>
							 | 
						||
| 
								 | 
							
								<H3> Description And Use of Operations on Variable Objects </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC415::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC416"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-create</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC416::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC417"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC417::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-create {<VAR>name</VAR> | "-"}
							 | 
						||
| 
								 | 
							
								    {<VAR>frame-addr</VAR> | "*"} <VAR>expression</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This operation creates a variable object, which allows the monitoring of
							 | 
						||
| 
								 | 
							
								a variable, the result of an expression, a memory cell or a CPU
							 | 
						||
| 
								 | 
							
								register.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The <VAR>name</VAR> parameter is the string by which the object can be
							 | 
						||
| 
								 | 
							
								referenced.  It must be unique.  If <SAMP>`-'</SAMP> is specified, the varobj
							 | 
						||
| 
								 | 
							
								system will generate a string "varNNNNNN" automatically.  It will be
							 | 
						||
| 
								 | 
							
								unique provided that one does not specify <VAR>name</VAR> on that format.
							 | 
						||
| 
								 | 
							
								The command fails if a duplicate name is found.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The frame under which the expression should be evaluated can be
							 | 
						||
| 
								 | 
							
								specified by <VAR>frame-addr</VAR>.  A <SAMP>`*'</SAMP> indicates that the current
							 | 
						||
| 
								 | 
							
								frame should be used.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<VAR>expression</VAR> is any expression valid on the current language set (must not
							 | 
						||
| 
								 | 
							
								begin with a <SAMP>`*'</SAMP>), or one of the following:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<SAMP>`*<VAR>addr</VAR>'</SAMP>, where <VAR>addr</VAR> is the address of a memory cell
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<SAMP>`*<VAR>addr</VAR>-<VAR>addr</VAR>'</SAMP> -- a memory address range (TBD)
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<SAMP>`$<VAR>regname</VAR>'</SAMP> -- a CPU register name
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC418"></A>
							 | 
						||
| 
								 | 
							
								<H4> Result   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC418::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This operation returns the name, number of children and the type of the
							 | 
						||
| 
								 | 
							
								object created.  Type is returned as a string as the ones generated by
							 | 
						||
| 
								 | 
							
								the GDB CLI:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> name="<VAR>name</VAR>",numchild="N",type="<VAR>type</VAR>"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC419"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-delete</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC419::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC420"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC420::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-delete [ -c ] <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Deletes a previously created variable object and all of its children.
							 | 
						||
| 
								 | 
							
								With the <SAMP>`-c'</SAMP> option, just deletes the children.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns an error if the object <VAR>name</VAR> is not found.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC421"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-set-format</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC421::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC422"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC422::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-set-format <VAR>name</VAR> <VAR>format-spec</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Sets the output format for the value of the object <VAR>name</VAR> to be
							 | 
						||
| 
								 | 
							
								<VAR>format-spec</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The syntax for the <VAR>format-spec</VAR> is as follows:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> <VAR>format-spec</VAR> ==>
							 | 
						||
| 
								 | 
							
								 {binary | decimal | hexadecimal | octal | natural}
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The natural format is the default format choosen automatically
							 | 
						||
| 
								 | 
							
								based on the variable type (like decimal for an <CODE>int</CODE>, hex
							 | 
						||
| 
								 | 
							
								for pointers, etc.).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For a variable with children, the format is set only on the 
							 | 
						||
| 
								 | 
							
								variable itself, and the children are not affected.  
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC423"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-show-format</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC423::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC424"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC424::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-show-format <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns the format used to display the value of the object <VAR>name</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> <VAR>format</VAR> ==>
							 | 
						||
| 
								 | 
							
								 <VAR>format-spec</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC425"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-info-num-children</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC425::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC426"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC426::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-info-num-children <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns the number of children of a variable object <VAR>name</VAR>:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> numchild=<VAR>n</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC427"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-list-children</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC427::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC428"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC428::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-list-children [<VAR>print-values</VAR>] <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table><A NAME="-var-list-children"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Return a list of the children of the specified variable object and
							 | 
						||
| 
								 | 
							
								create variable objects for them, if they do not already exist.  With
							 | 
						||
| 
								 | 
							
								a single argument or if <VAR>print-values</VAR> has a value for of 0 or
							 | 
						||
| 
								 | 
							
								<CODE>--no-values</CODE>, print only the names of the variables; if
							 | 
						||
| 
								 | 
							
								<VAR>print-values</VAR> is 1 or <CODE>--all-values</CODE>, also print their
							 | 
						||
| 
								 | 
							
								values; and if it is 2 or <CODE>--simple-values</CODE> print the name and
							 | 
						||
| 
								 | 
							
								value for simple data types and just the name for arrays, structures
							 | 
						||
| 
								 | 
							
								and unions.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC429"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC429::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								 -var-list-children n
							 | 
						||
| 
								 | 
							
								 ^done,numchild=<VAR>n</VAR>,children=[{name=<VAR>name</VAR>,
							 | 
						||
| 
								 | 
							
								 numchild=<VAR>n</VAR>,type=<VAR>type</VAR>},(repeats N times)]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								 -var-list-children --all-values n
							 | 
						||
| 
								 | 
							
								 ^done,numchild=<VAR>n</VAR>,children=[{name=<VAR>name</VAR>,
							 | 
						||
| 
								 | 
							
								 numchild=<VAR>n</VAR>,value=<VAR>value</VAR>,type=<VAR>type</VAR>},(repeats N times)]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC430"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-info-type</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC430::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC431"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC431::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-info-type <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns the type of the specified variable <VAR>name</VAR>.  The type is
							 | 
						||
| 
								 | 
							
								returned as a string in the same format as it is output by the
							 | 
						||
| 
								 | 
							
								GDB CLI:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> type=<VAR>typename</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC432"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-info-expression</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC432::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC433"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC433::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-info-expression <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns a string that is suitable for presenting this
							 | 
						||
| 
								 | 
							
								variable object in user interface.  The string is generally
							 | 
						||
| 
								 | 
							
								not valid expression in the current language, and cannot be evaluated.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For example, if <CODE>a</CODE> is an array, and variable object
							 | 
						||
| 
								 | 
							
								<CODE>A</CODE> was created for <CODE>a</CODE>, then we'll get this output:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) -var-info-expression A.1
							 | 
						||
| 
								 | 
							
								^done,lang="C",exp="1"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Here, the values of <CODE>lang</CODE> can be <CODE>{"C" | "C++" | "Java"}</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that the output of the <CODE>-var-list-children</CODE> command also
							 | 
						||
| 
								 | 
							
								includes those expressions, so the <CODE>-var-info-expression</CODE> command
							 | 
						||
| 
								 | 
							
								is of limited use.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC434"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-info-path-expression</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC434::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC435"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC435::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-info-path-expression <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns an expression that can be evaluated in the current
							 | 
						||
| 
								 | 
							
								context and will yield the same value that a variable object has.
							 | 
						||
| 
								 | 
							
								Compare this with the <CODE>-var-info-expression</CODE> command, which
							 | 
						||
| 
								 | 
							
								result can be used only for UI presentation.  Typical use of
							 | 
						||
| 
								 | 
							
								the <CODE>-var-info-path-expression</CODE> command is creating a 
							 | 
						||
| 
								 | 
							
								watchpoint from a variable object.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For example, suppose <CODE>C</CODE> is a C<TT>++</TT> class, derived from class
							 | 
						||
| 
								 | 
							
								<CODE>Base</CODE>, and that the <CODE>Base</CODE> class has a member called
							 | 
						||
| 
								 | 
							
								<CODE>m_size</CODE>.  Assume a variable <CODE>c</CODE> is has the type of
							 | 
						||
| 
								 | 
							
								<CODE>C</CODE> and a variable object <CODE>C</CODE> was created for variable
							 | 
						||
| 
								 | 
							
								<CODE>c</CODE>.  Then, we'll get this output:
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) -var-info-path-expression C.Base.public.m_size
							 | 
						||
| 
								 | 
							
								^done,path_expr=((Base)c).m_size)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC436"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-show-attributes</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC436::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC437"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC437::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-show-attributes <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List attributes of the specified variable object <VAR>name</VAR>:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> status=<VAR>attr</VAR> [ ( ,<VAR>attr</VAR> )* ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								where <VAR>attr</VAR> is <CODE>{ { editable | noneditable } | TBD }</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC438"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-evaluate-expression</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC438::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC439"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC439::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-evaluate-expression <VAR>name</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Evaluates the expression that is represented by the specified variable
							 | 
						||
| 
								 | 
							
								object and returns its value as a string.  The format of the
							 | 
						||
| 
								 | 
							
								string can be changed using the <CODE>-var-set-format</CODE> command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> value=<VAR>value</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that one must invoke <CODE>-var-list-children</CODE> for a variable
							 | 
						||
| 
								 | 
							
								before the value of a child variable can be evaluated.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC440"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-assign</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC440::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC441"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC441::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-assign <VAR>name</VAR> <VAR>expression</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Assigns the value of <VAR>expression</VAR> to the variable object specified
							 | 
						||
| 
								 | 
							
								by <VAR>name</VAR>.  The object must be <SAMP>`editable'</SAMP>.  If the variable's
							 | 
						||
| 
								 | 
							
								value is altered by the assign, the variable will show up in any
							 | 
						||
| 
								 | 
							
								subsequent <CODE>-var-update</CODE> list.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC442"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC442::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-var-assign var1 3
							 | 
						||
| 
								 | 
							
								^done,value="3"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-var-update *
							 | 
						||
| 
								 | 
							
								^done,changelist=[{name="var1",in_scope="true",type_changed="false"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC443"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-update</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC443::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC444"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC444::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-update [<VAR>print-values</VAR>] {<VAR>name</VAR> | "*"}
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Reevaluate the expressions corresponding to the variable object
							 | 
						||
| 
								 | 
							
								<VAR>name</VAR> and all its direct and indirect children, and return the
							 | 
						||
| 
								 | 
							
								list of variable objects whose values have changed; <VAR>name</VAR> must
							 | 
						||
| 
								 | 
							
								be a root variable object.  Here, "changed" means that the result of
							 | 
						||
| 
								 | 
							
								<CODE>-var-evaluate-expression</CODE> before and after the
							 | 
						||
| 
								 | 
							
								<CODE>-var-update</CODE> is different.  If <SAMP>`*'</SAMP> is used as the variable
							 | 
						||
| 
								 | 
							
								object names, all existing variable objects are updated, except
							 | 
						||
| 
								 | 
							
								for frozen ones (see  <A HREF="gdb_25.html#-var-set-frozen">-var-set-frozen</A>).  The option
							 | 
						||
| 
								 | 
							
								<VAR>print-values</VAR> determines whether both names and values, or just
							 | 
						||
| 
								 | 
							
								names are printed.  The possible values of this options are the same
							 | 
						||
| 
								 | 
							
								as for <CODE>-var-list-children</CODE> (see  <A HREF="gdb_25.html#-var-list-children">-var-list-children</A>).  It is
							 | 
						||
| 
								 | 
							
								recommended to use the <SAMP>`--all-values'</SAMP> option, to reduce the
							 | 
						||
| 
								 | 
							
								number of MI commands needed on each program stop.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC445"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC445::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-var-assign var1 3
							 | 
						||
| 
								 | 
							
								^done,value="3"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-var-update --all-values var1
							 | 
						||
| 
								 | 
							
								^done,changelist=[{name="var1",value="3",in_scope="true",
							 | 
						||
| 
								 | 
							
								type_changed="false"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="-var-update"></A>
							 | 
						||
| 
								 | 
							
								The field in_scope may take three values:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>"true"</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The variable object's current value is valid.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"false"</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The variable object does not currently hold a valid value but it may
							 | 
						||
| 
								 | 
							
								hold one in the future if its associated expression comes back into
							 | 
						||
| 
								 | 
							
								scope.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>"invalid"</CODE>
							 | 
						||
| 
								 | 
							
								<DD>The variable object no longer holds a valid value.
							 | 
						||
| 
								 | 
							
								This can occur when the executable file being debugged has changed,
							 | 
						||
| 
								 | 
							
								either through recompilation or by using the GDB <CODE>file</CODE>
							 | 
						||
| 
								 | 
							
								command.  The front end should normally choose to delete these variable
							 | 
						||
| 
								 | 
							
								objects.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In the future new values may be added to this list so the front should
							 | 
						||
| 
								 | 
							
								be prepared for this possibility.  See section <A HREF="gdb_25.html#SEC249">GDB/MI Development and Front Ends</A>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC446"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-var-set-frozen</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC446::-->
							 | 
						||
| 
								 | 
							
								<A NAME="-var-set-frozen"></A>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC447"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC447::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -var-set-frozen <VAR>name</VAR> <VAR>flag</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set the frozenness flag on the variable object <VAR>name</VAR>.  The
							 | 
						||
| 
								 | 
							
								<VAR>flag</VAR> parameter should be either <SAMP>`1'</SAMP> to make the variable
							 | 
						||
| 
								 | 
							
								frozen or <SAMP>`0'</SAMP> to make it unfrozen.  If a variable object is
							 | 
						||
| 
								 | 
							
								frozen, then neither itself, nor any of its children, are 
							 | 
						||
| 
								 | 
							
								implicitly updated by <CODE>-var-update</CODE> of 
							 | 
						||
| 
								 | 
							
								a parent variable or by <CODE>-var-update *</CODE>.  Only
							 | 
						||
| 
								 | 
							
								<CODE>-var-update</CODE> of the variable itself will update its value and
							 | 
						||
| 
								 | 
							
								values of its children.  After a variable object is unfrozen, it is
							 | 
						||
| 
								 | 
							
								implicitly updated by all subsequent <CODE>-var-update</CODE> operations.  
							 | 
						||
| 
								 | 
							
								Unfreezing a variable does not update it, only subsequent
							 | 
						||
| 
								 | 
							
								<CODE>-var-update</CODE> does.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC448"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC448::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-var-set-frozen V 1
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Data Manipulation"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC449"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC413"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC475"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.13 GDB/MI Data Manipulation </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC449::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1288"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1289"></A>
							 | 
						||
| 
								 | 
							
								This section describes the GDB/MI commands that manipulate data:
							 | 
						||
| 
								 | 
							
								examine memory and registers, evaluate expressions, etc.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC450"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-disassemble</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC450::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC451"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC451::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-disassemble
							 | 
						||
| 
								 | 
							
								    [ -s <VAR>start-addr</VAR> -e <VAR>end-addr</VAR> ]
							 | 
						||
| 
								 | 
							
								  | [ -f <VAR>filename</VAR> -l <VAR>linenum</VAR> [ -n <VAR>lines</VAR> ] ]
							 | 
						||
| 
								 | 
							
								  -- <VAR>mode</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Where:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>start-addr</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the beginning address (or <CODE>$pc</CODE>)
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>end-addr</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the end address
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>filename</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the name of the file to disassemble
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>linenum</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the line number to disassemble around
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>lines</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is the number of disassembly lines to be produced.  If it is -1,
							 | 
						||
| 
								 | 
							
								the whole function will be disassembled, in case no <VAR>end-addr</VAR> is
							 | 
						||
| 
								 | 
							
								specified.  If <VAR>end-addr</VAR> is specified as a non-zero value, and
							 | 
						||
| 
								 | 
							
								<VAR>lines</VAR> is lower than the number of disassembly lines between
							 | 
						||
| 
								 | 
							
								<VAR>start-addr</VAR> and <VAR>end-addr</VAR>, only <VAR>lines</VAR> lines are
							 | 
						||
| 
								 | 
							
								displayed; if <VAR>lines</VAR> is higher than the number of lines between
							 | 
						||
| 
								 | 
							
								<VAR>start-addr</VAR> and <VAR>end-addr</VAR>, only the lines up to <VAR>end-addr</VAR>
							 | 
						||
| 
								 | 
							
								are displayed.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>mode</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>is either 0 (meaning only disassembly) or 1 (meaning mixed source and
							 | 
						||
| 
								 | 
							
								disassembly).
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC452"></A>
							 | 
						||
| 
								 | 
							
								<H4> Result    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC452::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The output for each instruction is composed of four fields:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>Address
							 | 
						||
| 
								 | 
							
								<LI>Func-name
							 | 
						||
| 
								 | 
							
								<LI>Offset
							 | 
						||
| 
								 | 
							
								<LI>Instruction
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that whatever included in the instruction field, is not manipulated
							 | 
						||
| 
								 | 
							
								directly by GDB/MI, i.e., it is not possible to adjust its format.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC453"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC453::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There's no direct mapping from this command to the CLI.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC454"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC454::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disassemble from the current value of <CODE>$pc</CODE> to <CODE>$pc + 20</CODE>:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-data-disassemble -s $pc -e "$pc + 20" -- 0
							 | 
						||
| 
								 | 
							
								^done,
							 | 
						||
| 
								 | 
							
								asm_insns=[
							 | 
						||
| 
								 | 
							
								{address="0x000107c0",func-name="main",offset="4",
							 | 
						||
| 
								 | 
							
								inst="mov  2, %o0"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c4",func-name="main",offset="8",
							 | 
						||
| 
								 | 
							
								inst="sethi  %hi(0x11800), %o2"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c8",func-name="main",offset="12",
							 | 
						||
| 
								 | 
							
								inst="or  %o2, 0x140, %o1\t! 0x11940 <_lib_version+8>"},
							 | 
						||
| 
								 | 
							
								{address="0x000107cc",func-name="main",offset="16",
							 | 
						||
| 
								 | 
							
								inst="sethi  %hi(0x11800), %o2"},
							 | 
						||
| 
								 | 
							
								{address="0x000107d0",func-name="main",offset="20",
							 | 
						||
| 
								 | 
							
								inst="or  %o2, 0x168, %o4\t! 0x11968 <_lib_version+48>"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disassemble the whole <CODE>main</CODE> function.  Line 32 is part of
							 | 
						||
| 
								 | 
							
								<CODE>main</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-data-disassemble -f basics.c -l 32 -- 0
							 | 
						||
| 
								 | 
							
								^done,asm_insns=[
							 | 
						||
| 
								 | 
							
								{address="0x000107bc",func-name="main",offset="0",
							 | 
						||
| 
								 | 
							
								inst="save  %sp, -112, %sp"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c0",func-name="main",offset="4",
							 | 
						||
| 
								 | 
							
								inst="mov   2, %o0"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c4",func-name="main",offset="8",
							 | 
						||
| 
								 | 
							
								inst="sethi %hi(0x11800), %o2"},
							 | 
						||
| 
								 | 
							
								[<small>...</small>]
							 | 
						||
| 
								 | 
							
								{address="0x0001081c",func-name="main",offset="96",inst="ret "},
							 | 
						||
| 
								 | 
							
								{address="0x00010820",func-name="main",offset="100",inst="restore "}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disassemble 3 instructions from the start of <CODE>main</CODE>:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-data-disassemble -f basics.c -l 32 -n 3 -- 0
							 | 
						||
| 
								 | 
							
								^done,asm_insns=[
							 | 
						||
| 
								 | 
							
								{address="0x000107bc",func-name="main",offset="0",
							 | 
						||
| 
								 | 
							
								inst="save  %sp, -112, %sp"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c0",func-name="main",offset="4",
							 | 
						||
| 
								 | 
							
								inst="mov  2, %o0"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c4",func-name="main",offset="8",
							 | 
						||
| 
								 | 
							
								inst="sethi  %hi(0x11800), %o2"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disassemble 3 instructions from the start of <CODE>main</CODE> in mixed mode:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-data-disassemble -f basics.c -l 32 -n 3 -- 1
							 | 
						||
| 
								 | 
							
								^done,asm_insns=[
							 | 
						||
| 
								 | 
							
								src_and_asm_line={line="31",
							 | 
						||
| 
								 | 
							
								file="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb/ \
							 | 
						||
| 
								 | 
							
								  testsuite/gdb.mi/basics.c",line_asm_insn=[
							 | 
						||
| 
								 | 
							
								{address="0x000107bc",func-name="main",offset="0",
							 | 
						||
| 
								 | 
							
								inst="save  %sp, -112, %sp"}]},
							 | 
						||
| 
								 | 
							
								src_and_asm_line={line="32",
							 | 
						||
| 
								 | 
							
								file="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb/ \
							 | 
						||
| 
								 | 
							
								  testsuite/gdb.mi/basics.c",line_asm_insn=[
							 | 
						||
| 
								 | 
							
								{address="0x000107c0",func-name="main",offset="4",
							 | 
						||
| 
								 | 
							
								inst="mov  2, %o0"},
							 | 
						||
| 
								 | 
							
								{address="0x000107c4",func-name="main",offset="8",
							 | 
						||
| 
								 | 
							
								inst="sethi  %hi(0x11800), %o2"}]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC455"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-evaluate-expression</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC455::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC456"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC456::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-evaluate-expression <VAR>expr</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Evaluate <VAR>expr</VAR> as an expression.  The expression could contain an
							 | 
						||
| 
								 | 
							
								inferior function call.  The function call will execute synchronously.
							 | 
						||
| 
								 | 
							
								If the expression contains spaces, it must be enclosed in double quotes.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC457"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC457::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`print'</SAMP>, <SAMP>`output'</SAMP>, and
							 | 
						||
| 
								 | 
							
								<SAMP>`call'</SAMP>.  In <CODE>gdbtk</CODE> only, there's a corresponding
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_eval'</SAMP> command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC458"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC458::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In the following example, the numbers that precede the commands are the
							 | 
						||
| 
								 | 
							
								<EM>tokens</EM> described in <A HREF="gdb_25.html#SEC245">GDB/MI Command Syntax</A>.  Notice how GDB/MI returns the same tokens in its
							 | 
						||
| 
								 | 
							
								output.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>211-data-evaluate-expression A
							 | 
						||
| 
								 | 
							
								211^done,value="1"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								311-data-evaluate-expression &A
							 | 
						||
| 
								 | 
							
								311^done,value="0xefffeb7c"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								411-data-evaluate-expression A+3
							 | 
						||
| 
								 | 
							
								411^done,value="4"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								511-data-evaluate-expression "A + 3"
							 | 
						||
| 
								 | 
							
								511^done,value="4"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC459"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-list-changed-registers</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC459::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC460"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC460::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-list-changed-registers
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Display a list of the registers that have changed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC461"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC461::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB doesn't have a direct analog for this command; <CODE>gdbtk</CODE>
							 | 
						||
| 
								 | 
							
								has the corresponding command <SAMP>`gdb_changed_register_list'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC462"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC462::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								On a PPC MBX board:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-exec-continue
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="breakpoint-hit",bkptno="1",frame={func="main",
							 | 
						||
| 
								 | 
							
								args=[],file="try.c",fullname="/home/foo/bar/try.c",line="5"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-data-list-changed-registers
							 | 
						||
| 
								 | 
							
								^done,changed-registers=["0","1","2","4","5","6","7","8","9",
							 | 
						||
| 
								 | 
							
								"10","11","13","14","15","16","17","18","19","20","21","22","23",
							 | 
						||
| 
								 | 
							
								"24","25","26","27","28","30","31","64","65","66","67","69"]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC463"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-list-register-names</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC463::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC464"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC464::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-list-register-names [ ( <VAR>regno</VAR> )+ ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show a list of register names for the current target.  If no arguments
							 | 
						||
| 
								 | 
							
								are given, it shows a list of the names of all the registers.  If
							 | 
						||
| 
								 | 
							
								integer numbers are given as arguments, it will print a list of the
							 | 
						||
| 
								 | 
							
								names of the registers corresponding to the arguments.  To ensure
							 | 
						||
| 
								 | 
							
								consistency between a register name and its number, the output list may
							 | 
						||
| 
								 | 
							
								include empty register names.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC465"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC465::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB does not have a command which corresponds to
							 | 
						||
| 
								 | 
							
								<SAMP>`-data-list-register-names'</SAMP>.  In <CODE>gdbtk</CODE> there is a
							 | 
						||
| 
								 | 
							
								corresponding command <SAMP>`gdb_regnames'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC466"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC466::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For the PPC MBX board:
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-data-list-register-names
							 | 
						||
| 
								 | 
							
								^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7",
							 | 
						||
| 
								 | 
							
								"r8","r9","r10","r11","r12","r13","r14","r15","r16","r17","r18",
							 | 
						||
| 
								 | 
							
								"r19","r20","r21","r22","r23","r24","r25","r26","r27","r28","r29",
							 | 
						||
| 
								 | 
							
								"r30","r31","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9",
							 | 
						||
| 
								 | 
							
								"f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f20",
							 | 
						||
| 
								 | 
							
								"f21","f22","f23","f24","f25","f26","f27","f28","f29","f30","f31",
							 | 
						||
| 
								 | 
							
								"", "pc","ps","cr","lr","ctr","xer"]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-data-list-register-names 1 2 3
							 | 
						||
| 
								 | 
							
								^done,register-names=["r1","r2","r3"]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC467"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-list-register-values</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC467::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC468"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC468::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-list-register-values <VAR>fmt</VAR> [ ( <VAR>regno</VAR> )*]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Display the registers' contents.  <VAR>fmt</VAR> is the format according to
							 | 
						||
| 
								 | 
							
								which the registers' contents are to be returned, followed by an optional
							 | 
						||
| 
								 | 
							
								list of numbers specifying the registers to display.  A missing list of
							 | 
						||
| 
								 | 
							
								numbers indicates that the contents of all the registers must be returned.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Allowed formats for <VAR>fmt</VAR> are:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>x</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Hexadecimal
							 | 
						||
| 
								 | 
							
								<DT><CODE>o</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Octal
							 | 
						||
| 
								 | 
							
								<DT><CODE>t</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Binary
							 | 
						||
| 
								 | 
							
								<DT><CODE>d</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Decimal
							 | 
						||
| 
								 | 
							
								<DT><CODE>r</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Raw
							 | 
						||
| 
								 | 
							
								<DT><CODE>N</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Natural
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC469"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC469::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB commands are <SAMP>`info reg'</SAMP>, <SAMP>`info
							 | 
						||
| 
								 | 
							
								all-reg'</SAMP>, and (in <CODE>gdbtk</CODE>) <SAMP>`gdb_fetch_registers'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC470"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC470::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For a PPC MBX board (note: line breaks are for readability only, they
							 | 
						||
| 
								 | 
							
								don't appear in the actual output):
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-data-list-register-values r 64 65
							 | 
						||
| 
								 | 
							
								^done,register-values=[{number="64",value="0xfe00a300"},
							 | 
						||
| 
								 | 
							
								{number="65",value="0x00029002"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-data-list-register-values x
							 | 
						||
| 
								 | 
							
								^done,register-values=[{number="0",value="0xfe0043c8"},
							 | 
						||
| 
								 | 
							
								{number="1",value="0x3fff88"},{number="2",value="0xfffffffe"},
							 | 
						||
| 
								 | 
							
								{number="3",value="0x0"},{number="4",value="0xa"},
							 | 
						||
| 
								 | 
							
								{number="5",value="0x3fff68"},{number="6",value="0x3fff58"},
							 | 
						||
| 
								 | 
							
								{number="7",value="0xfe011e98"},{number="8",value="0x2"},
							 | 
						||
| 
								 | 
							
								{number="9",value="0xfa202820"},{number="10",value="0xfa202808"},
							 | 
						||
| 
								 | 
							
								{number="11",value="0x1"},{number="12",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="13",value="0x4544"},{number="14",value="0xffdfffff"},
							 | 
						||
| 
								 | 
							
								{number="15",value="0xffffffff"},{number="16",value="0xfffffeff"},
							 | 
						||
| 
								 | 
							
								{number="17",value="0xefffffed"},{number="18",value="0xfffffffe"},
							 | 
						||
| 
								 | 
							
								{number="19",value="0xffffffff"},{number="20",value="0xffffffff"},
							 | 
						||
| 
								 | 
							
								{number="21",value="0xffffffff"},{number="22",value="0xfffffff7"},
							 | 
						||
| 
								 | 
							
								{number="23",value="0xffffffff"},{number="24",value="0xffffffff"},
							 | 
						||
| 
								 | 
							
								{number="25",value="0xffffffff"},{number="26",value="0xfffffffb"},
							 | 
						||
| 
								 | 
							
								{number="27",value="0xffffffff"},{number="28",value="0xf7bfffff"},
							 | 
						||
| 
								 | 
							
								{number="29",value="0x0"},{number="30",value="0xfe010000"},
							 | 
						||
| 
								 | 
							
								{number="31",value="0x0"},{number="32",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="33",value="0x0"},{number="34",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="35",value="0x0"},{number="36",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="37",value="0x0"},{number="38",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="39",value="0x0"},{number="40",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="41",value="0x0"},{number="42",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="43",value="0x0"},{number="44",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="45",value="0x0"},{number="46",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="47",value="0x0"},{number="48",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="49",value="0x0"},{number="50",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="51",value="0x0"},{number="52",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="53",value="0x0"},{number="54",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="55",value="0x0"},{number="56",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="57",value="0x0"},{number="58",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="59",value="0x0"},{number="60",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="61",value="0x0"},{number="62",value="0x0"},
							 | 
						||
| 
								 | 
							
								{number="63",value="0x0"},{number="64",value="0xfe00a300"},
							 | 
						||
| 
								 | 
							
								{number="65",value="0x29002"},{number="66",value="0x202f04b5"},
							 | 
						||
| 
								 | 
							
								{number="67",value="0xfe0043b0"},{number="68",value="0xfe00b3e4"},
							 | 
						||
| 
								 | 
							
								{number="69",value="0x20002b03"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC471"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-data-read-memory</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC471::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC472"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC472::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -data-read-memory [ -o <VAR>byte-offset</VAR> ]
							 | 
						||
| 
								 | 
							
								   <VAR>address</VAR> <VAR>word-format</VAR> <VAR>word-size</VAR>
							 | 
						||
| 
								 | 
							
								   <VAR>nr-rows</VAR> <VAR>nr-cols</VAR> [ <VAR>aschar</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								where:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>address</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>An expression specifying the address of the first memory word to be
							 | 
						||
| 
								 | 
							
								read.  Complex expressions containing embedded white space should be
							 | 
						||
| 
								 | 
							
								quoted using the C convention.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>word-format</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The format to be used to print the memory words.  The notation is the
							 | 
						||
| 
								 | 
							
								same as for GDB's <CODE>print</CODE> command (see section <A HREF="gdb_9.html#SEC63">Output Formats</A>).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>word-size</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of each memory word in bytes.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>nr-rows</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The number of rows in the output table.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>nr-cols</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The number of columns in the output table.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>aschar</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>If present, indicates that each row should include an ASCII dump.  The
							 | 
						||
| 
								 | 
							
								value of <VAR>aschar</VAR> is used as a padding character when a byte is not a
							 | 
						||
| 
								 | 
							
								member of the printable ASCII character set (printable ASCII
							 | 
						||
| 
								 | 
							
								characters are those whose code is between 32 and 126, inclusively).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>byte-offset</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>An offset to add to the <VAR>address</VAR> before fetching memory.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This command displays memory contents as a table of <VAR>nr-rows</VAR> by
							 | 
						||
| 
								 | 
							
								<VAR>nr-cols</VAR> words, each word being <VAR>word-size</VAR> bytes.  In total,
							 | 
						||
| 
								 | 
							
								<CODE><VAR>nr-rows</VAR> * <VAR>nr-cols</VAR> * <VAR>word-size</VAR></CODE> bytes are read
							 | 
						||
| 
								 | 
							
								(returned as <SAMP>`total-bytes'</SAMP>).  Should less than the requested number
							 | 
						||
| 
								 | 
							
								of bytes be returned by the target, the missing words are identified
							 | 
						||
| 
								 | 
							
								using <SAMP>`N/A'</SAMP>.  The number of bytes read from the target is returned
							 | 
						||
| 
								 | 
							
								in <SAMP>`nr-bytes'</SAMP> and the starting address used to read memory in
							 | 
						||
| 
								 | 
							
								<SAMP>`addr'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The address of the next/previous row or page is available in
							 | 
						||
| 
								 | 
							
								<SAMP>`next-row'</SAMP> and <SAMP>`prev-row'</SAMP>, <SAMP>`next-page'</SAMP> and
							 | 
						||
| 
								 | 
							
								<SAMP>`prev-page'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC473"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC473::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`x'</SAMP>.  <CODE>gdbtk</CODE> has
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_get_mem'</SAMP> memory read command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC474"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC474::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Read six bytes of memory starting at <CODE>bytes+6</CODE> but then offset by
							 | 
						||
| 
								 | 
							
								<CODE>-6</CODE> bytes.  Format as three rows of two columns.  One byte per
							 | 
						||
| 
								 | 
							
								word.  Display each word in hex.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								9-data-read-memory -o -6 -- bytes+6 x 1 3 2
							 | 
						||
| 
								 | 
							
								9^done,addr="0x00001390",nr-bytes="6",total-bytes="6",
							 | 
						||
| 
								 | 
							
								next-row="0x00001396",prev-row="0x0000138e",next-page="0x00001396",
							 | 
						||
| 
								 | 
							
								prev-page="0x0000138a",memory=[
							 | 
						||
| 
								 | 
							
								{addr="0x00001390",data=["0x00","0x01"]},
							 | 
						||
| 
								 | 
							
								{addr="0x00001392",data=["0x02","0x03"]},
							 | 
						||
| 
								 | 
							
								{addr="0x00001394",data=["0x04","0x05"]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Read two bytes of memory starting at address <CODE>shorts + 64</CODE> and
							 | 
						||
| 
								 | 
							
								display as a single word formatted in decimal.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								5-data-read-memory shorts+64 d 2 1 1
							 | 
						||
| 
								 | 
							
								5^done,addr="0x00001510",nr-bytes="2",total-bytes="2",
							 | 
						||
| 
								 | 
							
								next-row="0x00001512",prev-row="0x0000150e",
							 | 
						||
| 
								 | 
							
								next-page="0x00001512",prev-page="0x0000150e",memory=[
							 | 
						||
| 
								 | 
							
								{addr="0x00001510",data=["128"]}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Read thirty two bytes of memory starting at <CODE>bytes+16</CODE> and format
							 | 
						||
| 
								 | 
							
								as eight rows of four columns.  Include a string encoding with <SAMP>`x'</SAMP>
							 | 
						||
| 
								 | 
							
								used as the non-printable character.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								4-data-read-memory bytes+16 x 1 8 4 x
							 | 
						||
| 
								 | 
							
								4^done,addr="0x000013a0",nr-bytes="32",total-bytes="32",
							 | 
						||
| 
								 | 
							
								next-row="0x000013c0",prev-row="0x0000139c",
							 | 
						||
| 
								 | 
							
								next-page="0x000013c0",prev-page="0x00001380",memory=[
							 | 
						||
| 
								 | 
							
								{addr="0x000013a0",data=["0x10","0x11","0x12","0x13"],ascii="xxxx"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013a4",data=["0x14","0x15","0x16","0x17"],ascii="xxxx"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013a8",data=["0x18","0x19","0x1a","0x1b"],ascii="xxxx"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013ac",data=["0x1c","0x1d","0x1e","0x1f"],ascii="xxxx"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013b0",data=["0x20","0x21","0x22","0x23"],ascii=" !\"#"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013b4",data=["0x24","0x25","0x26","0x27"],ascii="$%&'"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013b8",data=["0x28","0x29","0x2a","0x2b"],ascii="()*+"},
							 | 
						||
| 
								 | 
							
								{addr="0x000013bc",data=["0x2c","0x2d","0x2e","0x2f"],ascii=",-./"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Tracepoint Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC475"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC449"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC476"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.14 GDB/MI Tracepoint Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC475::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The tracepoint commands are not yet implemented.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Symbol Query"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC476"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC475"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC521"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.15 GDB/MI Symbol Query Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC476::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC477"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-info-address</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC477::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC478"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC478::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-info-address <VAR>symbol</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Describe where <VAR>symbol</VAR> is stored.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC479"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC479::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info address'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC480"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC480::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC481"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-info-file</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC481::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC482"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC482::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-info-file
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show the file for the symbol.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC483"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC483::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There's no equivalent GDB command.  <CODE>gdbtk</CODE> has
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_find_file'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC484"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC484::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC485"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-info-function</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC485::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC486"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC486::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-info-function
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show which function the symbol lives in.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC487"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC487::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_get_function'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC488"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC488::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC489"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-info-line</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC489::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC490"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC490::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-info-line
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show the core addresses of the code for a source line.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC491"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC491::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info line'</SAMP>.
							 | 
						||
| 
								 | 
							
								<CODE>gdbtk</CODE> has the <SAMP>`gdb_get_line'</SAMP> and <SAMP>`gdb_get_file'</SAMP> commands.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC492"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC492::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC493"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-info-symbol</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC493::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC494"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC494::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-info-symbol <VAR>addr</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Describe what symbol is at location <VAR>addr</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC495"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC495::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info symbol'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC496"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC496::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC497"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-list-functions</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC497::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC498"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC498::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-list-functions
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the functions in the executable.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC499"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC499::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<SAMP>`info functions'</SAMP> in GDB, <SAMP>`gdb_listfunc'</SAMP> and
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_search'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC500"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC500::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC501"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-list-lines</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC501::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC502"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC502::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-list-lines <VAR>filename</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Print the list of lines that contain code and their associated program
							 | 
						||
| 
								 | 
							
								addresses for the given source filename.  The entries are sorted in
							 | 
						||
| 
								 | 
							
								ascending PC order.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC503"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC503::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There is no corresponding GDB command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC504"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC504::-->
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-symbol-list-lines basics.c
							 | 
						||
| 
								 | 
							
								^done,lines=[{pc="0x08048554",line="7"},{pc="0x0804855a",line="8"}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC505"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-list-types</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC505::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC506"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC506::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-list-types
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List all the type names.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC507"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC507::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding commands are <SAMP>`info types'</SAMP> in GDB,
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_search'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC508"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC508::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC509"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-list-variables</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC509::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC510"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC510::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-list-variables
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List all the global and static variable names.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC511"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC511::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<SAMP>`info variables'</SAMP> in GDB, <SAMP>`gdb_search'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC512"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC512::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC513"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-locate</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC513::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC514"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC514::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-locate
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC515"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC515::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_loc'</SAMP> in <CODE>gdbtk</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC516"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC516::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC517"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-symbol-type</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC517::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC518"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC518::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -symbol-type <VAR>variable</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show type of <VAR>variable</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC519"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC519::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`ptype'</SAMP>, <CODE>gdbtk</CODE> has
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_obj_variable'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC520"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC520::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI File Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC521"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC476"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC554"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.16 GDB/MI File Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC521::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This section describes the GDB/MI commands to specify executable file names
							 | 
						||
| 
								 | 
							
								and to read in and obtain symbol table information.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC522"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-exec-and-symbols</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC522::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC523"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC523::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-exec-and-symbols <VAR>file</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Specify the executable file to be debugged.  This file is the one from
							 | 
						||
| 
								 | 
							
								which the symbol table is also read.  If no file is specified, the
							 | 
						||
| 
								 | 
							
								command clears the executable and symbol information.  If breakpoints
							 | 
						||
| 
								 | 
							
								are set when using this command with no arguments, GDB will produce
							 | 
						||
| 
								 | 
							
								error messages.  Otherwise, no output is produced, except a completion
							 | 
						||
| 
								 | 
							
								notification.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC524"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC524::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`file'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC525"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC525::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-file-exec-and-symbols /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC526"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-exec-file</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC526::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC527"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC527::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-exec-file <VAR>file</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Specify the executable file to be debugged.  Unlike
							 | 
						||
| 
								 | 
							
								<SAMP>`-file-exec-and-symbols'</SAMP>, the symbol table is <EM>not</EM> read
							 | 
						||
| 
								 | 
							
								from this file.  If used without argument, GDB clears the information
							 | 
						||
| 
								 | 
							
								about the executable file.  No output is produced, except a completion
							 | 
						||
| 
								 | 
							
								notification.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC528"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC528::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`exec-file'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC529"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC529::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-file-exec-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC530"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-list-exec-sections</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC530::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC531"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC531::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-list-exec-sections
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the sections of the current executable file.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC532"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC532::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB command <SAMP>`info file'</SAMP> shows, among the rest, the same
							 | 
						||
| 
								 | 
							
								information as this command.  <CODE>gdbtk</CODE> has a corresponding command
							 | 
						||
| 
								 | 
							
								<SAMP>`gdb_load_info'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC533"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC533::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC534"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-list-exec-source-file</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC534::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC535"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC535::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-list-exec-source-file
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the line number, the current source file, and the absolute path
							 | 
						||
| 
								 | 
							
								to the current source file for the current executable.  The macro
							 | 
						||
| 
								 | 
							
								information field has a value of <SAMP>`1'</SAMP> or <SAMP>`0'</SAMP> depending on
							 | 
						||
| 
								 | 
							
								whether or not the file includes preprocessor macro information.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC536"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC536::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB equivalent is <SAMP>`info source'</SAMP>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC537"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC537::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								123-file-list-exec-source-file
							 | 
						||
| 
								 | 
							
								123^done,line="1",file="foo.c",fullname="/home/bar/foo.c,macro-info="1"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC538"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-list-exec-source-files</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC538::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC539"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC539::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-list-exec-source-files
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the source files for the current executable.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								It will always output the filename, but only when GDB can find
							 | 
						||
| 
								 | 
							
								the absolute file name of a source file, will it output the fullname.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC540"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC540::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB equivalent is <SAMP>`info sources'</SAMP>.
							 | 
						||
| 
								 | 
							
								<CODE>gdbtk</CODE> has an analogous command <SAMP>`gdb_listfiles'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC541"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC541::-->
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-file-list-exec-source-files
							 | 
						||
| 
								 | 
							
								^done,files=[
							 | 
						||
| 
								 | 
							
								{file=foo.c,fullname=/home/foo.c},
							 | 
						||
| 
								 | 
							
								{file=/home/bar.c,fullname=/home/bar.c},
							 | 
						||
| 
								 | 
							
								{file=gdb_could_not_find_fullpath.c}]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC542"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-list-shared-libraries</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC542::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC543"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC543::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-list-shared-libraries
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the shared libraries in the program.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC544"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC544::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info shared'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC545"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC545::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC546"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-list-symbol-files</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC546::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC547"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC547::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-list-symbol-files
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List symbol files.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC548"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC548::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`info file'</SAMP> (part of it).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC549"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC549::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC550"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-file-symbol-file</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC550::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC551"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC551::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -file-symbol-file <VAR>file</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Read symbol table info from the specified <VAR>file</VAR> argument.  When
							 | 
						||
| 
								 | 
							
								used without arguments, clears GDB's symbol table info.  No output is
							 | 
						||
| 
								 | 
							
								produced, except for a completion notification.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC552"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC552::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`symbol-file'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC553"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC553::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-file-symbol-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Target Manipulation"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC554"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC521"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC595"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.17 GDB/MI Target Manipulation Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC554::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC555"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-attach</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC555::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC556"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC556::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-attach <VAR>pid</VAR> | <VAR>file</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Attach to a process <VAR>pid</VAR> or a file <VAR>file</VAR> outside of GDB.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC557"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC557::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`attach'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC558"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC558::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC559"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-compare-sections</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC559::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC560"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC560::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-compare-sections [ <VAR>section</VAR> ]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Compare data of section <VAR>section</VAR> on target to the exec file.
							 | 
						||
| 
								 | 
							
								Without the argument, all sections are compared.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC561"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC561::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB equivalent is <SAMP>`compare-sections'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC562"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC562::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC563"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-detach</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC563::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC564"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC564::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-detach
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Detach from the remote target which normally resumes its execution.
							 | 
						||
| 
								 | 
							
								There's no output.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC565"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC565::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`detach'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC566"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC566::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-detach
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC567"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-disconnect</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC567::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC568"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC568::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-disconnect
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Disconnect from the remote target.  There's no output and the target is
							 | 
						||
| 
								 | 
							
								generally not resumed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC569"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC569::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`disconnect'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC570"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC570::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-disconnect
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC571"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-download</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC571::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC572"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC572::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-download
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Loads the executable onto the remote target.
							 | 
						||
| 
								 | 
							
								It prints out an update message every half second, which includes the fields:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`section'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The name of the section.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`section-sent'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of what has been sent so far for that section.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`section-size'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of the section.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`total-sent'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The total size of what was sent so far (the current and the previous sections).
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`total-size'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of the overall executable to download.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Each message is sent as status record (see section <A HREF="gdb_25.html#SEC247">GDB/MI Output Syntax</A>).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In addition, it prints the name and size of the sections, as they are
							 | 
						||
| 
								 | 
							
								downloaded.  These messages include the following fields:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`section'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The name of the section.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`section-size'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of the section.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`total-size'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The size of the overall executable to download.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								At the end, a summary is printed.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC573"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC573::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`load'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC574"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC574::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note: each status message appears on a single line.  Here the messages
							 | 
						||
| 
								 | 
							
								have been broken down so that they can fit onto a page.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-download
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-size="6668",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="512",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="512",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="1024",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="1024",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="1536",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="1536",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="2048",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="2048",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="2560",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="2560",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="3072",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="3072",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="3584",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="3584",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="4096",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="4096",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="4608",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="4608",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="5120",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="5120",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="5632",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="5632",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="6144",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="6144",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".text",section-sent="6656",section-size="6668",
							 | 
						||
| 
								 | 
							
								total-sent="6656",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".init",section-size="28",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".fini",section-size="28",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-size="3156",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="512",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="7236",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="1024",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="7748",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="1536",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="8260",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="2048",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="8772",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="2560",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="9284",total-size="9880"}
							 | 
						||
| 
								 | 
							
								+download,{section=".data",section-sent="3072",section-size="3156",
							 | 
						||
| 
								 | 
							
								total-sent="9796",total-size="9880"}
							 | 
						||
| 
								 | 
							
								^done,address="0x10004",load-size="9880",transfer-rate="6586",
							 | 
						||
| 
								 | 
							
								write-rate="429"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC575"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-exec-status</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC575::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC576"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC576::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-exec-status
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Provide information on the state of the target (whether it is running or
							 | 
						||
| 
								 | 
							
								not, for instance).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC577"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC577::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There's no equivalent GDB command.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC578"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC578::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC579"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-list-available-targets</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC579::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC580"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC580::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-list-available-targets
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List the possible targets to connect to.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC581"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC581::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`help target'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC582"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC582::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC583"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-list-current-targets</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC583::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC584"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                   </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC584::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-list-current-targets
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Describe the current target.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC585"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC585::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding information is printed by <SAMP>`info file'</SAMP> (among
							 | 
						||
| 
								 | 
							
								other things).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC586"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC586::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC587"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-list-parameters</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC587::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC588"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                    </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC588::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-list-parameters
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC589"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC589::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								No equivalent.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC590"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC590::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC591"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-select</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC591::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC592"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                     </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC592::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-select <VAR>type</VAR> <VAR>parameters <small>...</small></VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Connect GDB to the remote target.  This command takes two args:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>type</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The type of target, for instance <SAMP>`async'</SAMP>, <SAMP>`remote'</SAMP>, etc.
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`<VAR>parameters</VAR>'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>Device names, host names and the like.  See section <A HREF="gdb_17.html#SEC160">Commands for Managing Targets</A>, for more details.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The output is a connection notification, followed by the address at
							 | 
						||
| 
								 | 
							
								which the target program is, in the following form:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>^connected,addr="<VAR>address</VAR>",func="<VAR>function name</VAR>",
							 | 
						||
| 
								 | 
							
								  args=[<VAR>arg list</VAR>]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC593"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC593::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`target'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC594"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC594::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-select async /dev/ttya
							 | 
						||
| 
								 | 
							
								^connected,addr="0xfe00a300",func="??",args=[]
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI File Transfer Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC595"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC554"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC608"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.18 GDB/MI File Transfer Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC595::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC596"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-file-put</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC596::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC597"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                      </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC597::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-file-put <VAR>hostfile</VAR> <VAR>targetfile</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copy file <VAR>hostfile</VAR> from the host system (the machine running
							 | 
						||
| 
								 | 
							
								GDB) to <VAR>targetfile</VAR> on the target system.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC598"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC598::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`remote put'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC599"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC599::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-file-put localfile remotefile
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC600"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-file-put</CODE> Command  </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC600::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC601"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                       </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC601::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-file-get <VAR>targetfile</VAR> <VAR>hostfile</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copy file <VAR>targetfile</VAR> from the target system to <VAR>hostfile</VAR>
							 | 
						||
| 
								 | 
							
								on the host system.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC602"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC602::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`remote get'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC603"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC603::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-file-get remotefile localfile
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC604"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-target-file-delete</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC604::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC605"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                        </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC605::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -target-file-delete <VAR>targetfile</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Delete <VAR>targetfile</VAR> from the target system.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC606"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC606::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`remote delete'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC607"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC607::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-target-file-delete remotefile
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="GDB/MI Miscellaneous Commands"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC608"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC595"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC242"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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> 24.19 Miscellaneous GDB/MI Commands </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC608::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC609"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-gdb-exit</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC609::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC610"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                         </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC610::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -gdb-exit
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Exit GDB immediately.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC611"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC611::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Approximately corresponds to <SAMP>`quit'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC612"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC612::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-gdb-exit
							 | 
						||
| 
								 | 
							
								^exit
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC613"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-exec-abort</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC613::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC614"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                          </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC614::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -exec-abort
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Kill the inferior running program.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC615"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC615::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`kill'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC616"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC616::-->
							 | 
						||
| 
								 | 
							
								N.A.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC617"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-gdb-set</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC617::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC618"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                           </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC618::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -gdb-set
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set an internal GDB variable.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC619"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC619::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`set'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC620"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                                </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC620::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-gdb-set $foo=3
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC621"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-gdb-show</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC621::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC622"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                            </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC622::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -gdb-show
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show the current value of a GDB variable.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC623"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                              </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC623::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`show'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC624"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                                 </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC624::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-gdb-show annotate
							 | 
						||
| 
								 | 
							
								^done,value="0"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC625"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-gdb-version</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC625::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC626"></A>
							 | 
						||
| 
								 | 
							
								<H4> Synopsis                                                                                             </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC626::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> -gdb-version
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show version information for GDB.  Used mostly in testing.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC627"></A>
							 | 
						||
| 
								 | 
							
								<H4> GDB Command                                                                               </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC627::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB equivalent is <SAMP>`show version'</SAMP>.  GDB by
							 | 
						||
| 
								 | 
							
								default shows this information when you start an interactive session.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC628"></A>
							 | 
						||
| 
								 | 
							
								<H4> Example                                                                                  </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC628::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-gdb-version
							 | 
						||
| 
								 | 
							
								~GNU gdb 5.2.1
							 | 
						||
| 
								 | 
							
								~Copyright 2000 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
							 | 
						||
| 
								 | 
							
								 "--host=sparc-sun-solaris2.5.1 --target=ppc-eabi".
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC629"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-list-features</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC629::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Returns a list of particular features of the MI protocol that
							 | 
						||
| 
								 | 
							
								this version of gdb implements.  A feature can be a command,
							 | 
						||
| 
								 | 
							
								or a new field in an output of some command, or even an
							 | 
						||
| 
								 | 
							
								important bugfix.  While a frontend can sometimes detect presence
							 | 
						||
| 
								 | 
							
								of a feature at runtime, it is easier to perform detection at debugger
							 | 
						||
| 
								 | 
							
								startup. 
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The command returns a list of strings, with each string naming an
							 | 
						||
| 
								 | 
							
								available feature.  Each returned string is just a name, it does not
							 | 
						||
| 
								 | 
							
								have any internal structure.  The list of possible feature names 
							 | 
						||
| 
								 | 
							
								is given below.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Example output:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) -list-features
							 | 
						||
| 
								 | 
							
								^done,result=["feature1","feature2"]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The current list of features is:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<UL>
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<SAMP>`frozen-varobjs'</SAMP>---indicates presence of the
							 | 
						||
| 
								 | 
							
								<CODE>-var-set-frozen</CODE> command, as well as possible presense of the
							 | 
						||
| 
								 | 
							
								<CODE>frozen</CODE> field in the output of <CODE>-varobj-create</CODE>.
							 | 
						||
| 
								 | 
							
								<LI>
							 | 
						||
| 
								 | 
							
								<SAMP>`pending-breakpoints'</SAMP>---indicates presence of the <CODE>-f</CODE>
							 | 
						||
| 
								 | 
							
								option to the <CODE>-break-insert</CODE> command.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</UL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC630"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-interpreter-exec</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC630::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC631"></A>
							 | 
						||
| 
								 | 
							
								<H3> Synopsis                                                                                              </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC631::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-interpreter-exec <VAR>interpreter</VAR> <VAR>command</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table><A NAME="-interpreter-exec"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Execute the specified <VAR>command</VAR> in the given <VAR>interpreter</VAR>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC632"></A>
							 | 
						||
| 
								 | 
							
								<H3> GDB Command                                                                                </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC632::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`interpreter-exec'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC633"></A>
							 | 
						||
| 
								 | 
							
								<H3> Example                                                                                   </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC633::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-interpreter-exec console "break main"
							 | 
						||
| 
								 | 
							
								&"During symbol reading, couldn't parse type; debugger out of date?.\n"
							 | 
						||
| 
								 | 
							
								&"During symbol reading, bad structure-type format.\n"
							 | 
						||
| 
								 | 
							
								~"Breakpoint 1 at 0x8074fc6: file ../../src/gdb/main.c, line 743.\n"
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC634"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-inferior-tty-set</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC634::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC635"></A>
							 | 
						||
| 
								 | 
							
								<H3> Synopsis                                                                                               </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC635::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-inferior-tty-set /dev/pts/1
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set terminal for future runs of the program being debugged.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC636"></A>
							 | 
						||
| 
								 | 
							
								<H3> GDB Command                                                                                 </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC636::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`set inferior-tty'</SAMP> /dev/pts/1.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC637"></A>
							 | 
						||
| 
								 | 
							
								<H3> Example                                                                                    </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC637::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-inferior-tty-set /dev/pts/1
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC638"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-inferior-tty-show</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC638::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC639"></A>
							 | 
						||
| 
								 | 
							
								<H3> Synopsis                                                                                                </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC639::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-inferior-tty-show
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Show terminal for future runs of program being debugged.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC640"></A>
							 | 
						||
| 
								 | 
							
								<H3> GDB Command                                                                                  </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC640::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The corresponding GDB command is <SAMP>`show inferior-tty'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC641"></A>
							 | 
						||
| 
								 | 
							
								<H3> Example                                                                                     </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC641::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-inferior-tty-set /dev/pts/1
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-inferior-tty-show
							 | 
						||
| 
								 | 
							
								^done,inferior_tty_terminal="/dev/pts/1"
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC642"></A>
							 | 
						||
| 
								 | 
							
								<H3> The <CODE>-enable-timings</CODE> Command </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC642::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC643"></A>
							 | 
						||
| 
								 | 
							
								<H3> Synopsis                                                                                                 </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC643::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-enable-timings [yes | no]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Toggle the printing of the wallclock, user and system times for an MI
							 | 
						||
| 
								 | 
							
								command as a field in its output.  This command is to help frontend
							 | 
						||
| 
								 | 
							
								developers optimize the performance of their code.  No argument is
							 | 
						||
| 
								 | 
							
								equivalent to <SAMP>`yes'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC644"></A>
							 | 
						||
| 
								 | 
							
								<H3> GDB Command                                                                                   </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC644::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								No equivalent.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SEC645"></A>
							 | 
						||
| 
								 | 
							
								<H3> Example                                                                                      </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC645::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb)
							 | 
						||
| 
								 | 
							
								-enable-timings
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-break-insert main
							 | 
						||
| 
								 | 
							
								^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",
							 | 
						||
| 
								 | 
							
								addr="0x080484ed",func="main",file="myprog.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/nickrob/myprog.c",line="73",times="0"},
							 | 
						||
| 
								 | 
							
								time={wallclock="0.05185",user="0.00800",system="0.00000"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-enable-timings no
							 | 
						||
| 
								 | 
							
								^done
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								-exec-run
							 | 
						||
| 
								 | 
							
								^running
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								*stopped,reason="breakpoint-hit",bkptno="1",thread-id="0",
							 | 
						||
| 
								 | 
							
								frame={addr="0x080484ed",func="main",args=[{name="argc",value="1"},
							 | 
						||
| 
								 | 
							
								{name="argv",value="0xbfb60364"}],file="myprog.c",
							 | 
						||
| 
								 | 
							
								fullname="/home/nickrob/myprog.c",line="73"}
							 | 
						||
| 
								 | 
							
								(gdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Annotations"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_25.html#SEC248"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_26.html#SEC646"> >> </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">   <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 & GNU inquiries & 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>
							 |