3054 lines
		
	
	
	
		
			127 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			3054 lines
		
	
	
	
		
			127 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: Configurations</TITLE>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<META NAME="description" CONTENT="Debugging with GDB: Configurations">
							 | 
						||
| 
								 | 
							
								<META NAME="keywords" CONTENT="Debugging with GDB: Configurations">
							 | 
						||
| 
								 | 
							
								<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="SEC177"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_18.html#SEC176"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_3.html#SEC6"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18. Configuration-Specific Information </H1>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC177::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								While nearly all GDB commands are available for all native and
							 | 
						||
| 
								 | 
							
								cross versions of the debugger, there are some exceptions.  This chapter
							 | 
						||
| 
								 | 
							
								describes things that are only available in certain configurations.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There are three major categories of configurations: native
							 | 
						||
| 
								 | 
							
								configurations, where the host and target are the same, embedded
							 | 
						||
| 
								 | 
							
								operating system configurations, which are usually the same for several
							 | 
						||
| 
								 | 
							
								different processor architectures, and bare embedded processors, which
							 | 
						||
| 
								 | 
							
								are quite different from each other.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC178">18.1 Native</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC189">18.2 Embedded Operating Systems</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC194">18.3 Embedded Processors</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC212">18.4 Architectures</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Native"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC178"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC179"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1 Native </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC178::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This section describes details specific to particular native
							 | 
						||
| 
								 | 
							
								configurations.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC179">18.1.1 HP-UX</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC180">18.1.2 BSD libkvm Interface</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Debugging BSD kernel memory images</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC181">18.1.3 SVR4 Process Information</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">SVR4 process information</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC182">18.1.4 Features for Debugging DJGPP Programs</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Features specific to the DJGPP port</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Features specific to the Cygwin port</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC187">18.1.6 Commands Specific to GNU Hurd Systems</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Features specific to GNU Hurd</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC188">18.1.7 QNX Neutrino</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Features specific to QNX Neutrino</TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="HP-UX"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC179"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC180"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.1 HP-UX </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC179::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								On HP-UX systems, if you refer to a function or variable name that
							 | 
						||
| 
								 | 
							
								begins with a dollar sign, GDB searches for a user or system
							 | 
						||
| 
								 | 
							
								name first, before it searches for a convenience variable.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="BSD libkvm Interface"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC180"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC179"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC181"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC181"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.2 BSD libkvm Interface </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC180::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX862"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX863"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX864"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BSD-derived systems (FreeBSD/NetBSD/OpenBSD) have a kernel memory
							 | 
						||
| 
								 | 
							
								interface that provides a uniform interface for accessing kernel virtual
							 | 
						||
| 
								 | 
							
								memory images, including live systems and crash dumps.  GDB
							 | 
						||
| 
								 | 
							
								uses this interface to allow you to debug live kernels and kernel crash
							 | 
						||
| 
								 | 
							
								dumps on many native BSD configurations.  This is implemented as a
							 | 
						||
| 
								 | 
							
								special <CODE>kvm</CODE> debugging target.  For debugging a live system, load
							 | 
						||
| 
								 | 
							
								the currently running kernel into GDB and connect to the
							 | 
						||
| 
								 | 
							
								<CODE>kvm</CODE> target:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>target kvm</B>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For debugging crash dumps, provide the file name of the crash dump as an
							 | 
						||
| 
								 | 
							
								argument:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) <B>target kvm /var/crash/bsd.0</B>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Once connected to the <CODE>kvm</CODE> target, the following commands are
							 | 
						||
| 
								 | 
							
								available:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX865"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>kvm pcb</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set current context from the <EM>Process Control Block</EM> (PCB) address.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>kvm proc</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set current context from proc address.  This command isn't available on
							 | 
						||
| 
								 | 
							
								modern FreeBSD systems.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SVR4 Process Information"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC181"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC180"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC182"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC182"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.3 SVR4 Process Information </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC181::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Many versions of SVR4 and compatible systems provide a facility called
							 | 
						||
| 
								 | 
							
								<SAMP>`/proc'</SAMP> that can be used to examine the image of a running
							 | 
						||
| 
								 | 
							
								process using file-system subroutines.  If GDB is configured
							 | 
						||
| 
								 | 
							
								for an operating system with this facility, the command <CODE>info
							 | 
						||
| 
								 | 
							
								proc</CODE> is available to report information about the process running
							 | 
						||
| 
								 | 
							
								your program, or about any process running on your system.  <CODE>info
							 | 
						||
| 
								 | 
							
								proc</CODE> works only on SVR4 systems that include the <CODE>procfs</CODE> code.
							 | 
						||
| 
								 | 
							
								This includes, as of this writing, GNU/Linux, OSF/1 (Digital
							 | 
						||
| 
								 | 
							
								Unix), Solaris, Irix, and Unixware, but not HP-UX, for example.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX866"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX867"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info proc</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info proc <VAR>process-id</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Summarize available information about any running process.  If a
							 | 
						||
| 
								 | 
							
								process ID is specified by <VAR>process-id</VAR>, display information about
							 | 
						||
| 
								 | 
							
								that process; otherwise display information about the program being
							 | 
						||
| 
								 | 
							
								debugged.  The summary includes the debugged process ID, the command
							 | 
						||
| 
								 | 
							
								line used to invoke it, its current working directory, and its
							 | 
						||
| 
								 | 
							
								executable file's absolute file name.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								On some systems, <VAR>process-id</VAR> can be of the form
							 | 
						||
| 
								 | 
							
								<SAMP>`[<VAR>pid</VAR>]/<VAR>tid</VAR>'</SAMP> which specifies a certain thread ID
							 | 
						||
| 
								 | 
							
								within a process.  If the optional <VAR>pid</VAR> part is missing, it means
							 | 
						||
| 
								 | 
							
								a thread from the process being debugged (the leading <SAMP>`/'</SAMP> still
							 | 
						||
| 
								 | 
							
								needs to be present, or else GDB will interpret the number as
							 | 
						||
| 
								 | 
							
								a process ID rather than a thread ID).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info proc mappings</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX868"></A>
							 | 
						||
| 
								 | 
							
								Report the memory address space ranges accessible in the program, with
							 | 
						||
| 
								 | 
							
								information on whether the process has read, write, or execute access
							 | 
						||
| 
								 | 
							
								rights to each range.  On GNU/Linux systems, each memory range
							 | 
						||
| 
								 | 
							
								includes the object file which is mapped to that range, instead of the
							 | 
						||
| 
								 | 
							
								memory access rights to that range.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info proc stat</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info proc status</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX869"></A>
							 | 
						||
| 
								 | 
							
								These subcommands are specific to GNU/Linux systems.  They show
							 | 
						||
| 
								 | 
							
								the process-related information, including the user ID and group ID;
							 | 
						||
| 
								 | 
							
								how many threads are there in the process; its virtual memory usage;
							 | 
						||
| 
								 | 
							
								the signals that are pending, blocked, and ignored; its TTY; its
							 | 
						||
| 
								 | 
							
								consumption of system and user time; its stack size; its <SAMP>`nice'</SAMP>
							 | 
						||
| 
								 | 
							
								value; etc.  For more information, see the <SAMP>`proc'</SAMP> man page
							 | 
						||
| 
								 | 
							
								(type <KBD>man 5 proc</KBD> from your shell prompt).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info proc all</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show all the information about the process described under all of the
							 | 
						||
| 
								 | 
							
								above <CODE>info proc</CODE> subcommands.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set procfs-trace</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX870"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX871"></A>
							 | 
						||
| 
								 | 
							
								This command enables and disables tracing of <CODE>procfs</CODE> API calls.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show procfs-trace</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX872"></A>
							 | 
						||
| 
								 | 
							
								Show the current state of <CODE>procfs</CODE> API call tracing.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set procfs-file <VAR>file</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX873"></A>
							 | 
						||
| 
								 | 
							
								Tell GDB to write <CODE>procfs</CODE> API trace to the named
							 | 
						||
| 
								 | 
							
								<VAR>file</VAR>.  GDB appends the trace info to the previous
							 | 
						||
| 
								 | 
							
								contents of the file.  The default is to display the trace on the
							 | 
						||
| 
								 | 
							
								standard output.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show procfs-file</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX874"></A>
							 | 
						||
| 
								 | 
							
								Show the file to which <CODE>procfs</CODE> API trace is written.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>proc-trace-entry</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>proc-trace-exit</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>proc-untrace-entry</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>proc-untrace-exit</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX875"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX876"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX877"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX878"></A>
							 | 
						||
| 
								 | 
							
								These commands enable and disable tracing of entries into and exits
							 | 
						||
| 
								 | 
							
								from the <CODE>syscall</CODE> interface.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info pidlist</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX879"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX880"></A>
							 | 
						||
| 
								 | 
							
								For QNX Neutrino only, this command displays the list of all the
							 | 
						||
| 
								 | 
							
								processes and all the threads within each process.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info meminfo</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX881"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX882"></A>
							 | 
						||
| 
								 | 
							
								For QNX Neutrino only, this command displays the list of all mapinfos.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="DJGPP Native"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC182"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC181"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.4 Features for Debugging DJGPP Programs </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC182::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX883"></A>
							 | 
						||
| 
								 | 
							
								DJGPP is a port of the GNU development tools to MS-DOS and
							 | 
						||
| 
								 | 
							
								MS-Windows.  DJGPP programs are 32-bit protected-mode programs
							 | 
						||
| 
								 | 
							
								that use the <EM>DPMI</EM> (DOS Protected-Mode Interface) API to run on
							 | 
						||
| 
								 | 
							
								top of real-mode DOS systems and their emulations.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB supports native debugging of DJGPP programs, and
							 | 
						||
| 
								 | 
							
								defines a few commands specific to the DJGPP port.  This
							 | 
						||
| 
								 | 
							
								subsection describes those commands.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX884"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dos</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This is a prefix of DJGPP-specific commands which print
							 | 
						||
| 
								 | 
							
								information about the target system and important OS structures.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX885"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX886"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX887"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dos sysinfo</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command displays assorted information about the underlying
							 | 
						||
| 
								 | 
							
								platform: the CPU type and features, the OS version and flavor, the
							 | 
						||
| 
								 | 
							
								DPMI version, and the available conventional and DPMI memory.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX888"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX889"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX890"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX891"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX892"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dos gdt</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info dos ldt</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info dos idt</CODE>
							 | 
						||
| 
								 | 
							
								<DD>These 3 commands display entries from, respectively, Global, Local,
							 | 
						||
| 
								 | 
							
								and Interrupt Descriptor Tables (GDT, LDT, and IDT).  The descriptor
							 | 
						||
| 
								 | 
							
								tables are data structures which store a descriptor for each segment
							 | 
						||
| 
								 | 
							
								that is currently in use.  The segment's selector is an index into a
							 | 
						||
| 
								 | 
							
								descriptor table; the table entry for that index holds the
							 | 
						||
| 
								 | 
							
								descriptor's base address and limit, and its attributes and access
							 | 
						||
| 
								 | 
							
								rights.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A typical DJGPP program uses 3 segments: a code segment, a data
							 | 
						||
| 
								 | 
							
								segment (used for both data and the stack), and a DOS segment (which
							 | 
						||
| 
								 | 
							
								allows access to DOS/BIOS data structures and absolute addresses in
							 | 
						||
| 
								 | 
							
								conventional memory).  However, the DPMI host will usually define
							 | 
						||
| 
								 | 
							
								additional segments in order to support the DPMI environment.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX893"></A>
							 | 
						||
| 
								 | 
							
								These commands allow to display entries from the descriptor tables.
							 | 
						||
| 
								 | 
							
								Without an argument, all entries from the specified table are
							 | 
						||
| 
								 | 
							
								displayed.  An argument, which should be an integer expression, means
							 | 
						||
| 
								 | 
							
								display a single entry whose index is given by the argument.  For
							 | 
						||
| 
								 | 
							
								example, here's a convenient way to display information about the
							 | 
						||
| 
								 | 
							
								debugged program's data segment:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre><CODE>(gdb) info dos ldt $ds</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>0x13f: base=0x11970000 limit=0x0009ffff 32-Bit Data (Read/Write, Exp-up)</CODE>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This comes in handy when you want to see whether a pointer is outside
							 | 
						||
| 
								 | 
							
								the data segment's limit (i.e. <EM>garbled</EM>).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX894"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dos pde</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info dos pte</CODE>
							 | 
						||
| 
								 | 
							
								<DD>These two commands display entries from, respectively, the Page
							 | 
						||
| 
								 | 
							
								Directory and the Page Tables.  Page Directories and Page Tables are
							 | 
						||
| 
								 | 
							
								data structures which control how virtual memory addresses are mapped
							 | 
						||
| 
								 | 
							
								into physical addresses.  A Page Table includes an entry for every
							 | 
						||
| 
								 | 
							
								page of memory that is mapped into the program's address space; there
							 | 
						||
| 
								 | 
							
								may be several Page Tables, each one holding up to 4096 entries.  A
							 | 
						||
| 
								 | 
							
								Page Directory has up to 4096 entries, one each for every Page Table
							 | 
						||
| 
								 | 
							
								that is currently in use.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Without an argument, <KBD>info dos pde</KBD> displays the entire Page
							 | 
						||
| 
								 | 
							
								Directory, and <KBD>info dos pte</KBD> displays all the entries in all of
							 | 
						||
| 
								 | 
							
								the Page Tables.  An argument, an integer expression, given to the
							 | 
						||
| 
								 | 
							
								<KBD>info dos pde</KBD> command means display only that entry from the Page
							 | 
						||
| 
								 | 
							
								Directory table.  An argument given to the <KBD>info dos pte</KBD> command
							 | 
						||
| 
								 | 
							
								means display entries from a single Page Table, the one pointed to by
							 | 
						||
| 
								 | 
							
								the specified entry in the Page Directory.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX895"></A>
							 | 
						||
| 
								 | 
							
								These commands are useful when your program uses <EM>DMA</EM> (Direct
							 | 
						||
| 
								 | 
							
								Memory Access), which needs physical addresses to program the DMA
							 | 
						||
| 
								 | 
							
								controller.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								These commands are supported only with some DPMI servers.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX896"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dos address-pte <VAR>addr</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command displays the Page Table entry for a specified linear
							 | 
						||
| 
								 | 
							
								address.  The argument <VAR>addr</VAR> is a linear address which should
							 | 
						||
| 
								 | 
							
								already have the appropriate segment's base address added to it,
							 | 
						||
| 
								 | 
							
								because this command accepts addresses which may belong to <EM>any</EM>
							 | 
						||
| 
								 | 
							
								segment.  For example, here's how to display the Page Table entry for
							 | 
						||
| 
								 | 
							
								the page where a variable <CODE>i</CODE> is stored:
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre><CODE>(gdb) info dos address-pte __djgpp_base_address + (char *)&i</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>Page Table entry for address 0x11a00d30:</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>Base=0x02698000 Dirty Acc. Not-Cached Write-Back Usr Read-Write +0xd30</CODE>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This says that <CODE>i</CODE> is stored at offset <CODE>0xd30</CODE> from the page
							 | 
						||
| 
								 | 
							
								whose physical base address is <CODE>0x02698000</CODE>, and shows all the
							 | 
						||
| 
								 | 
							
								attributes of that page.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that you must cast the addresses of variables to a <CODE>char *</CODE>,
							 | 
						||
| 
								 | 
							
								since otherwise the value of <CODE>__djgpp_base_address</CODE>, the base
							 | 
						||
| 
								 | 
							
								address of all variables and functions in a DJGPP program, will
							 | 
						||
| 
								 | 
							
								be added using the rules of C pointer arithmetics: if <CODE>i</CODE> is
							 | 
						||
| 
								 | 
							
								declared an <CODE>int</CODE>, GDB will add 4 times the value of
							 | 
						||
| 
								 | 
							
								<CODE>__djgpp_base_address</CODE> to the address of <CODE>i</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Here's another example, it displays the Page Table entry for the
							 | 
						||
| 
								 | 
							
								transfer buffer:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre><CODE>(gdb) info dos address-pte *((unsigned *)&_go32_info_block + 3)</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>Page Table entry for address 0x29110:</CODE>
							 | 
						||
| 
								 | 
							
								<CODE>Base=0x00029000 Dirty Acc. Not-Cached Write-Back Usr Read-Write +0x110</CODE>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(The <CODE>+ 3</CODE> offset is because the transfer buffer's address is the
							 | 
						||
| 
								 | 
							
								3rd member of the <CODE>_go32_info_block</CODE> structure.)  The output
							 | 
						||
| 
								 | 
							
								clearly shows that this DPMI server maps the addresses in conventional
							 | 
						||
| 
								 | 
							
								memory 1:1, i.e. the physical (<CODE>0x00029000</CODE> + <CODE>0x110</CODE>) and
							 | 
						||
| 
								 | 
							
								linear (<CODE>0x29110</CODE>) addresses are identical.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This command is supported only with some DPMI servers.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX897"></A>
							 | 
						||
| 
								 | 
							
								In addition to native debugging, the DJGPP port supports remote
							 | 
						||
| 
								 | 
							
								debugging via a serial data link.  The following commands are specific
							 | 
						||
| 
								 | 
							
								to remote serial debugging in the DJGPP port of GDB.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX898"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX899"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX900"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX901"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX902"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX903"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX904"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX905"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set com1base <VAR>addr</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command sets the base I/O port address of the <TT>`COM1'</TT> serial
							 | 
						||
| 
								 | 
							
								port.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set com1irq <VAR>irq</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command sets the <EM>Interrupt Request</EM> (<CODE>IRQ</CODE>) line to use
							 | 
						||
| 
								 | 
							
								for the <TT>`COM1'</TT> serial port.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There are similar commands <SAMP>`set com2base'</SAMP>, <SAMP>`set com3irq'</SAMP>,
							 | 
						||
| 
								 | 
							
								etc. for setting the port address and the <CODE>IRQ</CODE> lines for the
							 | 
						||
| 
								 | 
							
								other 3 COM ports.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX906"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX907"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX908"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX909"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX910"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX911"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX912"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX913"></A>
							 | 
						||
| 
								 | 
							
								The related commands <SAMP>`show com1base'</SAMP>, <SAMP>`show com1irq'</SAMP> etc.
							 | 
						||
| 
								 | 
							
								display the current settings of the base address and the <CODE>IRQ</CODE>
							 | 
						||
| 
								 | 
							
								lines used by the COM ports.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info serial</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX914"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX915"></A>
							 | 
						||
| 
								 | 
							
								This command prints the status of the 4 DOS serial ports.  For each
							 | 
						||
| 
								 | 
							
								port, it prints whether it's active or not, its I/O base address and
							 | 
						||
| 
								 | 
							
								IRQ number, whether it uses a 16550-style FIFO, its baudrate, and the
							 | 
						||
| 
								 | 
							
								counts of various errors encountered so far.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Cygwin Native"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC183"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC182"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC184"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> >> </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> 18.1.5 Features for Debugging MS Windows PE Executables </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC183::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB supports native debugging of MS Windows programs, including
							 | 
						||
| 
								 | 
							
								DLLs with and without symbolic debugging information.  There are various
							 | 
						||
| 
								 | 
							
								additional Cygwin-specific commands, described in this section.
							 | 
						||
| 
								 | 
							
								Working with DLLs that have no debugging symbols is described in
							 | 
						||
| 
								 | 
							
								<A HREF="gdb_19.html#SEC184">18.1.5.1 Support for DLLs without Debugging Symbols</A>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX916"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info w32</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This is a prefix of MS Windows-specific commands which print
							 | 
						||
| 
								 | 
							
								information about the target system and important OS structures.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info w32 selector</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command displays information returned by
							 | 
						||
| 
								 | 
							
								the Win32 API <CODE>GetThreadSelectorEntry</CODE> function.
							 | 
						||
| 
								 | 
							
								It takes an optional argument that is evaluated to
							 | 
						||
| 
								 | 
							
								a long value to give the information about this given selector.
							 | 
						||
| 
								 | 
							
								Without argument, this command displays information
							 | 
						||
| 
								 | 
							
								about the six segment registers.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX917"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info dll</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This is a Cygwin-specific alias of <CODE>info shared</CODE>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX918"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>dll-symbols</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command loads symbols from a dll similarly to
							 | 
						||
| 
								 | 
							
								add-sym command but without the need to specify a base address.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX919"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX920"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX921"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set cygwin-exceptions <VAR>mode</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>If <VAR>mode</VAR> is <CODE>on</CODE>, GDB will break on exceptions that
							 | 
						||
| 
								 | 
							
								happen inside the Cygwin DLL.  If <VAR>mode</VAR> is <CODE>off</CODE>,
							 | 
						||
| 
								 | 
							
								GDB will delay recognition of exceptions, and may ignore some
							 | 
						||
| 
								 | 
							
								exceptions which seem to be caused by internal Cygwin DLL
							 | 
						||
| 
								 | 
							
								"bookkeeping".  This option is meant primarily for debugging the
							 | 
						||
| 
								 | 
							
								Cygwin DLL itself; the default value is <CODE>off</CODE> to avoid annoying
							 | 
						||
| 
								 | 
							
								GDB users with false <CODE>SIGSEGV</CODE> signals.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX922"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>show cygwin-exceptions</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays whether GDB will break on exceptions that happen
							 | 
						||
| 
								 | 
							
								inside the Cygwin DLL itself.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX923"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set new-console <VAR>mode</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>If <VAR>mode</VAR> is <CODE>on</CODE> the debuggee will
							 | 
						||
| 
								 | 
							
								be started in a new console on next start.
							 | 
						||
| 
								 | 
							
								If <VAR>mode</VAR> is <CODE>off</CODE>i, the debuggee will
							 | 
						||
| 
								 | 
							
								be started in the same console as the debugger.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX924"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>show new-console</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays whether a new console is used
							 | 
						||
| 
								 | 
							
								when the debuggee is started.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX925"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set new-group <VAR>mode</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean value controls whether the debuggee should
							 | 
						||
| 
								 | 
							
								start a new group or stay in the same group as the debugger.
							 | 
						||
| 
								 | 
							
								This affects the way the Windows OS handles
							 | 
						||
| 
								 | 
							
								<SAMP>`Ctrl-C'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX926"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>show new-group</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays current value of new-group boolean.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX927"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debugevents</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean value adds debug output concerning kernel events related
							 | 
						||
| 
								 | 
							
								to the debuggee seen by the debugger.  This includes events that
							 | 
						||
| 
								 | 
							
								signal thread and process creation and exit, DLL loading and
							 | 
						||
| 
								 | 
							
								unloading, console interrupts, and debugging messages produced by the
							 | 
						||
| 
								 | 
							
								Windows <CODE>OutputDebugString</CODE> API call.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX928"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debugexec</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean value adds debug output concerning execute events
							 | 
						||
| 
								 | 
							
								(such as resume thread) seen by the debugger.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX929"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debugexceptions</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean value adds debug output concerning exceptions in the
							 | 
						||
| 
								 | 
							
								debuggee seen by the debugger.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX930"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debugmemory</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean value adds debug output concerning debuggee memory reads
							 | 
						||
| 
								 | 
							
								and writes by the debugger.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX931"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set shell</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This boolean values specifies whether the debuggee is called
							 | 
						||
| 
								 | 
							
								via a shell or directly (default value is on).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX932"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>show shell</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays if the debuggee will be started with a shell.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC184">18.1.5.1 Support for DLLs without Debugging Symbols</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Support for DLLs without debugging symbols</TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Non-debug DLL Symbols"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC184"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC185"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.1.5.1 Support for DLLs without Debugging Symbols </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC184::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Very often on windows, some of the DLLs that your program relies on do
							 | 
						||
| 
								 | 
							
								not include symbolic debugging information (for example,
							 | 
						||
| 
								 | 
							
								<TT>`kernel32.dll'</TT>).  When GDB doesn't recognize any debugging
							 | 
						||
| 
								 | 
							
								symbols in a DLL, it relies on the minimal amount of symbolic
							 | 
						||
| 
								 | 
							
								information contained in the DLL's export table.  This section
							 | 
						||
| 
								 | 
							
								describes working with such symbols, known internally to GDB as
							 | 
						||
| 
								 | 
							
								"minimal symbols".
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that before the debugged program has started execution, no DLLs
							 | 
						||
| 
								 | 
							
								will have been loaded.  The easiest way around this problem is simply to
							 | 
						||
| 
								 | 
							
								start the program -- either by setting a breakpoint or letting the
							 | 
						||
| 
								 | 
							
								program run once to completion.  It is also possible to force
							 | 
						||
| 
								 | 
							
								GDB to load a particular DLL before starting the executable ---
							 | 
						||
| 
								 | 
							
								see the shared library information in <A HREF="gdb_16.html#SEC155">15.1 Commands to Specify Files</A>, or the
							 | 
						||
| 
								 | 
							
								<CODE>dll-symbols</CODE> command in <A HREF="gdb_19.html#SEC183">18.1.5 Features for Debugging MS Windows PE Executables</A>.  Currently,
							 | 
						||
| 
								 | 
							
								explicitly loading symbols from a DLL with no debugging information will
							 | 
						||
| 
								 | 
							
								cause the symbol names to be duplicated in GDB's lookup table,
							 | 
						||
| 
								 | 
							
								which may adversely affect symbol lookup performance.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC185"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC184"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC186"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC186"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.1.5.2 DLL Name Prefixes </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC185::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In keeping with the naming conventions used by the Microsoft debugging
							 | 
						||
| 
								 | 
							
								tools, DLL export symbols are made available with a prefix based on the
							 | 
						||
| 
								 | 
							
								DLL name, for instance <CODE>KERNEL32!CreateFileA</CODE>.  The plain name is
							 | 
						||
| 
								 | 
							
								also entered into the symbol table, so <CODE>CreateFileA</CODE> is often
							 | 
						||
| 
								 | 
							
								sufficient. In some cases there will be name clashes within a program
							 | 
						||
| 
								 | 
							
								(particularly if the executable itself includes full debugging symbols)
							 | 
						||
| 
								 | 
							
								necessitating the use of the fully qualified name when referring to the
							 | 
						||
| 
								 | 
							
								contents of the DLL. Use single-quotes around the name to avoid the
							 | 
						||
| 
								 | 
							
								exclamation mark ("!")  being interpreted as a language operator.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that the internal name of the DLL may be all upper-case, even
							 | 
						||
| 
								 | 
							
								though the file name of the DLL is lower-case, or vice-versa. Since
							 | 
						||
| 
								 | 
							
								symbols within GDB are <EM>case-sensitive</EM> this may cause
							 | 
						||
| 
								 | 
							
								some confusion. If in doubt, try the <CODE>info functions</CODE> and
							 | 
						||
| 
								 | 
							
								<CODE>info variables</CODE> commands or even <CODE>maint print msymbols</CODE>
							 | 
						||
| 
								 | 
							
								(see section <A HREF="gdb_14.html#SEC146">13. Examining the Symbol Table</A>). Here's an example:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info function CreateFileA
							 | 
						||
| 
								 | 
							
								All functions matching regular expression "CreateFileA":
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Non-debugging symbols:
							 | 
						||
| 
								 | 
							
								0x77e885f4  CreateFileA
							 | 
						||
| 
								 | 
							
								0x77e885f4  KERNEL32!CreateFileA
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) info function !
							 | 
						||
| 
								 | 
							
								All functions matching regular expression "!":
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Non-debugging symbols:
							 | 
						||
| 
								 | 
							
								0x6100114c  cygwin1!__assert
							 | 
						||
| 
								 | 
							
								0x61004034  cygwin1!_dll_crt0@0
							 | 
						||
| 
								 | 
							
								0x61004240  cygwin1!dll_crt0(per_process *)
							 | 
						||
| 
								 | 
							
								[etc...]
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC186"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC185"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC183"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.1.5.3 Working with Minimal Symbols </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC186::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Symbols extracted from a DLL's export table do not contain very much
							 | 
						||
| 
								 | 
							
								type information. All that GDB can do is guess whether a symbol
							 | 
						||
| 
								 | 
							
								refers to a function or variable depending on the linker section that
							 | 
						||
| 
								 | 
							
								contains the symbol. Also note that the actual contents of the memory
							 | 
						||
| 
								 | 
							
								contained in a DLL are not available unless the program is running. This
							 | 
						||
| 
								 | 
							
								means that you cannot examine the contents of a variable or disassemble
							 | 
						||
| 
								 | 
							
								a function within a DLL without a running program.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Variables are generally treated as pointers and dereferenced
							 | 
						||
| 
								 | 
							
								automatically. For this reason, it is often necessary to prefix a
							 | 
						||
| 
								 | 
							
								variable name with the address-of operator ("&") and provide explicit
							 | 
						||
| 
								 | 
							
								type information in the command. Here's an example of the type of
							 | 
						||
| 
								 | 
							
								problem:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) print 'cygwin1!__argv'
							 | 
						||
| 
								 | 
							
								$1 = 268572168
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) x 'cygwin1!__argv'
							 | 
						||
| 
								 | 
							
								0x10021610:      "\230y\""
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								And two possible solutions:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) print ((char **)'cygwin1!__argv')[0]
							 | 
						||
| 
								 | 
							
								$2 = 0x22fd98 "/cygdrive/c/mydirectory/myprogram"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) x/2x &'cygwin1!__argv'
							 | 
						||
| 
								 | 
							
								0x610c0aa8 <cygwin1!__argv>:    0x10021608      0x00000000
							 | 
						||
| 
								 | 
							
								(gdb) x/x 0x10021608
							 | 
						||
| 
								 | 
							
								0x10021608:     0x0022fd98
							 | 
						||
| 
								 | 
							
								(gdb) x/s 0x0022fd98
							 | 
						||
| 
								 | 
							
								0x22fd98:        "/cygdrive/c/mydirectory/myprogram"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Setting a break point within a DLL is possible even before the program
							 | 
						||
| 
								 | 
							
								starts execution. However, under these circumstances, GDB can't
							 | 
						||
| 
								 | 
							
								examine the initial instructions of the function in order to skip the
							 | 
						||
| 
								 | 
							
								function's frame set-up code. You can work around this by using "*&"
							 | 
						||
| 
								 | 
							
								to set the breakpoint at a raw memory address:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdb) break *&'python22!PyOS_Readline'
							 | 
						||
| 
								 | 
							
								Breakpoint 1 at 0x1e04eff0
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The author of these extensions is not entirely convinced that setting a
							 | 
						||
| 
								 | 
							
								break point within a shared DLL like <TT>`kernel32.dll'</TT> is completely
							 | 
						||
| 
								 | 
							
								safe.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Hurd Native"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC187"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC186"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC188"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC188"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.6 Commands Specific to GNU Hurd Systems </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC187::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This subsection describes GDB commands specific to the
							 | 
						||
| 
								 | 
							
								GNU Hurd native debugging.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set signals</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set sigs</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX933"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX934"></A>
							 | 
						||
| 
								 | 
							
								This command toggles the state of inferior signal interception by
							 | 
						||
| 
								 | 
							
								GDB.  Mach exceptions, such as breakpoint traps, are not
							 | 
						||
| 
								 | 
							
								affected by this command.  <CODE>sigs</CODE> is a shorthand alias for
							 | 
						||
| 
								 | 
							
								<CODE>signals</CODE>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show signals</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show sigs</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX935"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX936"></A>
							 | 
						||
| 
								 | 
							
								Show the current state of intercepting inferior's signals.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set signal-thread</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set sigthread</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX937"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX938"></A>
							 | 
						||
| 
								 | 
							
								This command tells GDB which thread is the <CODE>libc</CODE> signal
							 | 
						||
| 
								 | 
							
								thread.  That thread is run when a signal is delivered to a running
							 | 
						||
| 
								 | 
							
								process.  <CODE>set sigthread</CODE> is the shorthand alias of <CODE>set
							 | 
						||
| 
								 | 
							
								signal-thread</CODE>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show signal-thread</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show sigthread</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX939"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX940"></A>
							 | 
						||
| 
								 | 
							
								These two commands show which thread will run when the inferior is
							 | 
						||
| 
								 | 
							
								delivered a signal.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set stopped</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX941"></A>
							 | 
						||
| 
								 | 
							
								This commands tells GDB that the inferior process is stopped,
							 | 
						||
| 
								 | 
							
								as with the <CODE>SIGSTOP</CODE> signal.  The stopped process can be
							 | 
						||
| 
								 | 
							
								continued by delivering a signal to it.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show stopped</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX942"></A>
							 | 
						||
| 
								 | 
							
								This command shows whether GDB thinks the debuggee is
							 | 
						||
| 
								 | 
							
								stopped.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set exceptions</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX943"></A>
							 | 
						||
| 
								 | 
							
								Use this command to turn off trapping of exceptions in the inferior.
							 | 
						||
| 
								 | 
							
								When exception trapping is off, neither breakpoints nor
							 | 
						||
| 
								 | 
							
								single-stepping will work.  To restore the default, set exception
							 | 
						||
| 
								 | 
							
								trapping on.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show exceptions</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX944"></A>
							 | 
						||
| 
								 | 
							
								Show the current state of trapping exceptions in the inferior.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set task pause</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX945"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX946"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX947"></A>
							 | 
						||
| 
								 | 
							
								This command toggles task suspension when GDB has control.
							 | 
						||
| 
								 | 
							
								Setting it to on takes effect immediately, and the task is suspended
							 | 
						||
| 
								 | 
							
								whenever GDB gets control.  Setting it to off will take
							 | 
						||
| 
								 | 
							
								effect the next time the inferior is continued.  If this option is set
							 | 
						||
| 
								 | 
							
								to off, you can use <CODE>set thread default pause on</CODE> or <CODE>set
							 | 
						||
| 
								 | 
							
								thread pause on</CODE> (see below) to pause individual threads.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show task pause</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX948"></A>
							 | 
						||
| 
								 | 
							
								Show the current state of task suspension.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set task detach-suspend-count</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX949"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX950"></A>
							 | 
						||
| 
								 | 
							
								This command sets the suspend count the task will be left with when
							 | 
						||
| 
								 | 
							
								GDB detaches from it.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show task detach-suspend-count</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the suspend count the task will be left with when detaching.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set task exception-port</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set task excp</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX951"></A>
							 | 
						||
| 
								 | 
							
								This command sets the task exception port to which GDB will
							 | 
						||
| 
								 | 
							
								forward exceptions.  The argument should be the value of the <EM>send
							 | 
						||
| 
								 | 
							
								rights</EM> of the task.  <CODE>set task excp</CODE> is a shorthand alias.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set noninvasive</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX952"></A>
							 | 
						||
| 
								 | 
							
								This command switches GDB to a mode that is the least
							 | 
						||
| 
								 | 
							
								invasive as far as interfering with the inferior is concerned.  This
							 | 
						||
| 
								 | 
							
								is the same as using <CODE>set task pause</CODE>, <CODE>set exceptions</CODE>, and
							 | 
						||
| 
								 | 
							
								<CODE>set signals</CODE> to values opposite to the defaults.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info send-rights</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info receive-rights</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info port-rights</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info port-sets</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info dead-names</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info ports</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info psets</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX953"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX954"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX955"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX956"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX957"></A>
							 | 
						||
| 
								 | 
							
								These commands display information about, respectively, send rights,
							 | 
						||
| 
								 | 
							
								receive rights, port rights, port sets, and dead names of a task.
							 | 
						||
| 
								 | 
							
								There are also shorthand aliases: <CODE>info ports</CODE> for <CODE>info
							 | 
						||
| 
								 | 
							
								port-rights</CODE> and <CODE>info psets</CODE> for <CODE>info port-sets</CODE>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread pause</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX958"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX959"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX960"></A>
							 | 
						||
| 
								 | 
							
								This command toggles current thread suspension when GDB has
							 | 
						||
| 
								 | 
							
								control.  Setting it to on takes effect immediately, and the current
							 | 
						||
| 
								 | 
							
								thread is suspended whenever GDB gets control.  Setting it to
							 | 
						||
| 
								 | 
							
								off will take effect the next time the inferior is continued.
							 | 
						||
| 
								 | 
							
								Normally, this command has no effect, since when GDB has
							 | 
						||
| 
								 | 
							
								control, the whole task is suspended.  However, if you used <CODE>set
							 | 
						||
| 
								 | 
							
								task pause off</CODE> (see above), this command comes in handy to suspend
							 | 
						||
| 
								 | 
							
								only the current thread.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show thread pause</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX961"></A>
							 | 
						||
| 
								 | 
							
								This command shows the state of current thread suspension.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread run</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command sets whether the current thread is allowed to run.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show thread run</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show whether the current thread is allowed to run.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread detach-suspend-count</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX962"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX963"></A>
							 | 
						||
| 
								 | 
							
								This command sets the suspend count GDB will leave on a
							 | 
						||
| 
								 | 
							
								thread when detaching.  This number is relative to the suspend count
							 | 
						||
| 
								 | 
							
								found by GDB when it notices the thread; use <CODE>set thread
							 | 
						||
| 
								 | 
							
								takeover-suspend-count</CODE> to force it to an absolute value.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show thread detach-suspend-count</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the suspend count GDB will leave on the thread when
							 | 
						||
| 
								 | 
							
								detaching.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread exception-port</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set thread excp</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set the thread exception port to which to forward exceptions.  This
							 | 
						||
| 
								 | 
							
								overrides the port set by <CODE>set task exception-port</CODE> (see above).
							 | 
						||
| 
								 | 
							
								<CODE>set thread excp</CODE> is the shorthand alias.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread takeover-suspend-count</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Normally, GDB's thread suspend counts are relative to the
							 | 
						||
| 
								 | 
							
								value GDB finds when it notices each thread.  This command
							 | 
						||
| 
								 | 
							
								changes the suspend counts to be absolute instead.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set thread default</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show thread default</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX964"></A>
							 | 
						||
| 
								 | 
							
								Each of the above <CODE>set thread</CODE> commands has a <CODE>set thread
							 | 
						||
| 
								 | 
							
								default</CODE> counterpart (e.g., <CODE>set thread default pause</CODE>, <CODE>set
							 | 
						||
| 
								 | 
							
								thread default exception-port</CODE>, etc.).  The <CODE>thread default</CODE>
							 | 
						||
| 
								 | 
							
								variety of commands sets the default thread properties for all
							 | 
						||
| 
								 | 
							
								threads; you can then change the properties of individual threads with
							 | 
						||
| 
								 | 
							
								the non-default commands.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Neutrino"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC188"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC187"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC178"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> >> </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> 18.1.7 QNX Neutrino </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC188::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB provides the following commands specific to the QNX
							 | 
						||
| 
								 | 
							
								Neutrino target:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debug nto-debug</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX965"></A>
							 | 
						||
| 
								 | 
							
								When set to on, enables debugging messages specific to the QNX
							 | 
						||
| 
								 | 
							
								Neutrino support.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show debug nto-debug</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX966"></A>
							 | 
						||
| 
								 | 
							
								Show the current state of QNX Neutrino messages.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Embedded OS"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC189"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC188"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC190"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> >> </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> 18.2 Embedded Operating Systems </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC189::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This section describes configurations involving the debugging of
							 | 
						||
| 
								 | 
							
								embedded operating systems that are available for several different
							 | 
						||
| 
								 | 
							
								architectures.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC190">18.2.1 Using GDB with VxWorks</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB includes the ability to debug programs running on
							 | 
						||
| 
								 | 
							
								various real-time operating systems.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="VxWorks"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC190"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC191"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC189"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> >> </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> 18.2.1 Using GDB with VxWorks </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC190::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX967"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX968"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target vxworks <VAR>machinename</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>A VxWorks system, attached via TCP/IP.  The argument <VAR>machinename</VAR>
							 | 
						||
| 
								 | 
							
								is the target system's machine name or IP address.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								On VxWorks, <CODE>load</CODE> links <VAR>filename</VAR> dynamically on the
							 | 
						||
| 
								 | 
							
								current target system as well as adding its symbols in GDB.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB enables developers to spawn and debug tasks running on networked
							 | 
						||
| 
								 | 
							
								VxWorks targets from a Unix host.  Already-running tasks spawned from
							 | 
						||
| 
								 | 
							
								the VxWorks shell can also be debugged.  GDB uses code that runs on
							 | 
						||
| 
								 | 
							
								both the Unix host and on the VxWorks target.  The program
							 | 
						||
| 
								 | 
							
								<CODE>gdb</CODE> is installed and executed on the Unix host.  (It may be
							 | 
						||
| 
								 | 
							
								installed with the name <CODE>vxgdb</CODE>, to distinguish it from a
							 | 
						||
| 
								 | 
							
								GDB for debugging programs on the host itself.)
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>VxWorks-timeout <VAR>args</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX969"></A>
							 | 
						||
| 
								 | 
							
								All VxWorks-based targets now support the option <CODE>vxworks-timeout</CODE>.
							 | 
						||
| 
								 | 
							
								This option is set by the user, and  <VAR>args</VAR> represents the number of
							 | 
						||
| 
								 | 
							
								seconds GDB waits for responses to rpc's.  You might use this if
							 | 
						||
| 
								 | 
							
								your VxWorks target is a slow software simulator or is on the far side
							 | 
						||
| 
								 | 
							
								of a thin network line.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following information on connecting to VxWorks was current when
							 | 
						||
| 
								 | 
							
								this manual was produced; newer releases of VxWorks may use revised
							 | 
						||
| 
								 | 
							
								procedures.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX970"></A>
							 | 
						||
| 
								 | 
							
								To use GDB with VxWorks, you must rebuild your VxWorks kernel
							 | 
						||
| 
								 | 
							
								to include the remote debugging interface routines in the VxWorks
							 | 
						||
| 
								 | 
							
								library <TT>`rdb.a'</TT>.  To do this, define <CODE>INCLUDE_RDB</CODE> in the
							 | 
						||
| 
								 | 
							
								VxWorks configuration file <TT>`configAll.h'</TT> and rebuild your VxWorks
							 | 
						||
| 
								 | 
							
								kernel.  The resulting kernel contains <TT>`rdb.a'</TT>, and spawns the
							 | 
						||
| 
								 | 
							
								source debugging task <CODE>tRdbTask</CODE> when VxWorks is booted.  For more
							 | 
						||
| 
								 | 
							
								information on configuring and remaking VxWorks, see the manufacturer's
							 | 
						||
| 
								 | 
							
								manual.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Once you have included <TT>`rdb.a'</TT> in your VxWorks system image and set
							 | 
						||
| 
								 | 
							
								your Unix execution search path to find GDB, you are ready to
							 | 
						||
| 
								 | 
							
								run GDB.  From your Unix host, run <CODE>gdb</CODE> (or
							 | 
						||
| 
								 | 
							
								<CODE>vxgdb</CODE>, depending on your installation).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB comes up showing the prompt:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(vxgdb)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC191">18.2.1.1 Connecting to VxWorks</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC192">18.2.1.2 VxWorks Download</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">VxWorks download</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC193">18.2.1.3 Running Tasks</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Running tasks</TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="VxWorks Connection"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC191"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC190"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC192"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC190"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.2.1.1 Connecting to VxWorks </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC191::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB command <CODE>target</CODE> lets you connect to a VxWorks target on the
							 | 
						||
| 
								 | 
							
								network.  To connect to a target whose host name is "<CODE>tt</CODE>", type:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(vxgdb) target vxworks tt
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB displays messages like these:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>Attaching remote machine across net...
							 | 
						||
| 
								 | 
							
								Connected to tt.
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB then attempts to read the symbol tables of any object modules
							 | 
						||
| 
								 | 
							
								loaded into the VxWorks target since it was last booted.  GDB locates
							 | 
						||
| 
								 | 
							
								these files by searching the directories listed in the command search
							 | 
						||
| 
								 | 
							
								path (see section <A HREF="gdb_5.html#SEC22">Your Program's Environment</A>); if it fails
							 | 
						||
| 
								 | 
							
								to find an object file, it displays a message such as:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>prog.o: No such file or directory.
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When this happens, add the appropriate directory to the search path with
							 | 
						||
| 
								 | 
							
								the GDB command <CODE>path</CODE>, and execute the <CODE>target</CODE>
							 | 
						||
| 
								 | 
							
								command again.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="VxWorks Download"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC192"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC191"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC193"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC193"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC190"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.2.1.2 VxWorks Download </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC192::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX971"></A>
							 | 
						||
| 
								 | 
							
								If you have connected to the VxWorks target and you want to debug an
							 | 
						||
| 
								 | 
							
								object that has not yet been loaded, you can use the GDB
							 | 
						||
| 
								 | 
							
								<CODE>load</CODE> command to download a file from Unix to VxWorks
							 | 
						||
| 
								 | 
							
								incrementally.  The object file given as an argument to the <CODE>load</CODE>
							 | 
						||
| 
								 | 
							
								command is actually opened twice: first by the VxWorks target in order
							 | 
						||
| 
								 | 
							
								to download the code, then by GDB in order to read the symbol
							 | 
						||
| 
								 | 
							
								table.  This can lead to problems if the current working directories on
							 | 
						||
| 
								 | 
							
								the two systems differ.  If both systems have NFS mounted the same
							 | 
						||
| 
								 | 
							
								filesystems, you can avoid these problems by using absolute paths.
							 | 
						||
| 
								 | 
							
								Otherwise, it is simplest to set the working directory on both systems
							 | 
						||
| 
								 | 
							
								to the directory in which the object file resides, and then to reference
							 | 
						||
| 
								 | 
							
								the file by its name, without any path.  For instance, a program
							 | 
						||
| 
								 | 
							
								<TT>`prog.o'</TT> may reside in <TT>`<VAR>vxpath</VAR>/vw/demo/rdb'</TT> in VxWorks
							 | 
						||
| 
								 | 
							
								and in <TT>`<VAR>hostpath</VAR>/vw/demo/rdb'</TT> on the host.  To load this
							 | 
						||
| 
								 | 
							
								program, type this on VxWorks:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>-> cd "<VAR>vxpath</VAR>/vw/demo/rdb"
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Then, in GDB, type:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(vxgdb) cd <VAR>hostpath</VAR>/vw/demo/rdb
							 | 
						||
| 
								 | 
							
								(vxgdb) load prog.o
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB displays a response similar to this:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>Reading symbol data from wherever/vw/demo/rdb/prog.o... done.
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You can also use the <CODE>load</CODE> command to reload an object module
							 | 
						||
| 
								 | 
							
								after editing and recompiling the corresponding source file.  Note that
							 | 
						||
| 
								 | 
							
								this makes GDB delete all currently-defined breakpoints,
							 | 
						||
| 
								 | 
							
								auto-displays, and convenience variables, and to clear the value
							 | 
						||
| 
								 | 
							
								history.  (This is necessary in order to preserve the integrity of
							 | 
						||
| 
								 | 
							
								debugger's data structures that reference the target system's symbol
							 | 
						||
| 
								 | 
							
								table.)
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="VxWorks Attach"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC193"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC192"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC190"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.2.1.3 Running Tasks </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC193::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX972"></A>
							 | 
						||
| 
								 | 
							
								You can also attach to an existing task using the <CODE>attach</CODE> command as
							 | 
						||
| 
								 | 
							
								follows:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(vxgdb) attach <VAR>task</VAR>
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								where <VAR>task</VAR> is the VxWorks hexadecimal task ID.  The task can be running
							 | 
						||
| 
								 | 
							
								or suspended when you attach to it.  Running tasks are suspended at
							 | 
						||
| 
								 | 
							
								the time of attachment.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Embedded Processors"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC194"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC193"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC195"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3 Embedded Processors </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC194::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This section goes into details specific to particular embedded
							 | 
						||
| 
								 | 
							
								configurations.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX973"></A>
							 | 
						||
| 
								 | 
							
								Whenever a specific embedded processor has a simulator, GDB
							 | 
						||
| 
								 | 
							
								allows to send an arbitrary command to the simulator.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>sim <VAR>command</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX974"></A>
							 | 
						||
| 
								 | 
							
								Send an arbitrary <VAR>command</VAR> string to the simulator.  Consult the
							 | 
						||
| 
								 | 
							
								documentation for the specific simulator in use for information about
							 | 
						||
| 
								 | 
							
								acceptable commands.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC195">18.3.1 ARM</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">ARM RDI</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC196">18.3.2 Renesas M32R/D and M32R/SDI</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Renesas M32R/D</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC197">18.3.3 M68k</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Motorola M68K</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC198">18.3.4 MIPS Embedded</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC199">18.3.5 OpenRISC 1000</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">OpenRisc 1000</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC201">18.3.7 HP PA Embedded</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC200">18.3.6 PowerPC Embedded</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC202">18.3.8 Tsqware Sparclet</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC207">18.3.9 Fujitsu Sparclite</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC208">18.3.10 Zilog Z8000</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC209">18.3.11 Atmel AVR</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC210">18.3.12 CRIS</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC211">18.3.13 Renesas Super-H</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="ARM"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC195"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.1 ARM </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC195::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX975"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target rdi <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>ARM Angel monitor, via RDI library interface to ADP protocol.  You may
							 | 
						||
| 
								 | 
							
								use this target to communicate with both boards running the Angel
							 | 
						||
| 
								 | 
							
								monitor, or with the EmbeddedICE JTAG debug device.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX976"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target rdp <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>ARM Demon monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB provides the following ARM-specific commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set arm disassembler</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX977"></A>
							 | 
						||
| 
								 | 
							
								This commands selects from a list of disassembly styles.  The
							 | 
						||
| 
								 | 
							
								<CODE>"std"</CODE> style is the standard style.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show arm disassembler</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX978"></A>
							 | 
						||
| 
								 | 
							
								Show the current disassembly style.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set arm apcs32</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX979"></A>
							 | 
						||
| 
								 | 
							
								This command toggles ARM operation mode between 32-bit and 26-bit.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show arm apcs32</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display the current usage of the ARM 32-bit mode.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set arm fpu <VAR>fputype</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command sets the ARM floating-point unit (FPU) type.  The
							 | 
						||
| 
								 | 
							
								argument <VAR>fputype</VAR> can be one of these:
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>auto</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Determine the FPU type by querying the OS ABI.
							 | 
						||
| 
								 | 
							
								<DT><CODE>softfpa</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Software FPU, with mixed-endian doubles on little-endian ARM
							 | 
						||
| 
								 | 
							
								processors.
							 | 
						||
| 
								 | 
							
								<DT><CODE>fpa</CODE>
							 | 
						||
| 
								 | 
							
								<DD>GCC-compiled FPA co-processor.
							 | 
						||
| 
								 | 
							
								<DT><CODE>softvfp</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Software FPU with pure-endian doubles.
							 | 
						||
| 
								 | 
							
								<DT><CODE>vfp</CODE>
							 | 
						||
| 
								 | 
							
								<DD>VFP co-processor.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show arm fpu</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the current type of the FPU.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set arm abi</CODE>
							 | 
						||
| 
								 | 
							
								<DD>This command forces GDB to use the specified ABI.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show arm abi</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the currently used ABI.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debug arm</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Toggle whether to display ARM-specific debugging messages from the ARM
							 | 
						||
| 
								 | 
							
								target support subsystem.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show debug arm</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show whether ARM-specific debugging messages are enabled.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following commands are available when an ARM target is debugged
							 | 
						||
| 
								 | 
							
								using the RDI interface:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>rdilogfile [<VAR>file</VAR>]</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX980"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX981"></A>
							 | 
						||
| 
								 | 
							
								Set the filename for the ADP (Angel Debugger Protocol) packet log.
							 | 
						||
| 
								 | 
							
								With an argument, sets the log file to the specified <VAR>file</VAR>.  With
							 | 
						||
| 
								 | 
							
								no argument, show the current log file name.  The default log file is
							 | 
						||
| 
								 | 
							
								<TT>`rdi.log'</TT>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>rdilogenable [<VAR>arg</VAR>]</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX982"></A>
							 | 
						||
| 
								 | 
							
								Control logging of ADP packets.  With an argument of 1 or <CODE>"yes"</CODE>
							 | 
						||
| 
								 | 
							
								enables logging, with an argument 0 or <CODE>"no"</CODE> disables it.  With
							 | 
						||
| 
								 | 
							
								no arguments displays the current setting.  When logging is enabled,
							 | 
						||
| 
								 | 
							
								ADP packets exchanged between GDB and the RDI target device
							 | 
						||
| 
								 | 
							
								are logged to a file.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set rdiromatzero</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX983"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX984"></A>
							 | 
						||
| 
								 | 
							
								Tell GDB whether the target has ROM at address 0.  If on,
							 | 
						||
| 
								 | 
							
								vector catching is disabled, so that zero address can be used.  If off
							 | 
						||
| 
								 | 
							
								(the default), vector catching is enabled.  For this command to take
							 | 
						||
| 
								 | 
							
								effect, it needs to be invoked prior to the <CODE>target rdi</CODE> command.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show rdiromatzero</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX985"></A>
							 | 
						||
| 
								 | 
							
								Show the current setting of ROM at zero address.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set rdiheartbeat</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX986"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX987"></A>
							 | 
						||
| 
								 | 
							
								Enable or disable RDI heartbeat packets.  It is not recommended to
							 | 
						||
| 
								 | 
							
								turn on this option, since it confuses ARM and EPI JTAG interface, as
							 | 
						||
| 
								 | 
							
								well as the Angel monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show rdiheartbeat</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX988"></A>
							 | 
						||
| 
								 | 
							
								Show the setting of RDI heartbeat packets.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="M32R/D"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC196"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC195"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC197"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC197"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.2 Renesas M32R/D and M32R/SDI </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC196::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX989"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target m32r <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Renesas M32R/D ROM monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX990"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target m32rsdi <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Renesas M32R SDI server, connected via parallel port to the board.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following GDB commands are specific to the M32R monitor:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set download-path <VAR>path</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX991"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX992"></A>
							 | 
						||
| 
								 | 
							
								Set the default path for finding downloadable SREC files.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show download-path</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX993"></A>
							 | 
						||
| 
								 | 
							
								Show the default path for downloadable SREC files.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set board-address <VAR>addr</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX994"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX995"></A>
							 | 
						||
| 
								 | 
							
								Set the IP address for the M32R-EVA target board.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show board-address</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX996"></A>
							 | 
						||
| 
								 | 
							
								Show the current IP address of the target board.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set server-address <VAR>addr</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX997"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX998"></A>
							 | 
						||
| 
								 | 
							
								Set the IP address for the download server, which is the GDB's
							 | 
						||
| 
								 | 
							
								host machine.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show server-address</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX999"></A>
							 | 
						||
| 
								 | 
							
								Display the IP address of the download server.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>upload [<VAR>file</VAR>]</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1000"></A>
							 | 
						||
| 
								 | 
							
								Upload the specified SREC <VAR>file</VAR> via the monitor's Ethernet
							 | 
						||
| 
								 | 
							
								upload capability.  If no <VAR>file</VAR> argument is given, the current
							 | 
						||
| 
								 | 
							
								executable file is uploaded.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>tload [<VAR>file</VAR>]</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1001"></A>
							 | 
						||
| 
								 | 
							
								Test the <CODE>upload</CODE> command.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following commands are available for M32R/SDI:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>sdireset</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1002"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1003"></A>
							 | 
						||
| 
								 | 
							
								This command resets the SDI connection.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>sdistatus</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1004"></A>
							 | 
						||
| 
								 | 
							
								This command shows the SDI connection status.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>debug_chaos</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1005"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1006"></A>
							 | 
						||
| 
								 | 
							
								Instructs the remote that M32R/Chaos debugging is to be used.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>use_debug_dma</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1007"></A>
							 | 
						||
| 
								 | 
							
								Instructs the remote to use the DEBUG_DMA method of accessing memory.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>use_mon_code</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1008"></A>
							 | 
						||
| 
								 | 
							
								Instructs the remote to use the MON_CODE method of accessing memory.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>use_ib_break</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1009"></A>
							 | 
						||
| 
								 | 
							
								Instructs the remote to set breakpoints by IB break.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>use_dbt_break</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1010"></A>
							 | 
						||
| 
								 | 
							
								Instructs the remote to set breakpoints by DBT.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="M68K"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC197"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC198"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC198"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.3 M68k </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC197::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The Motorola m68k configuration includes ColdFire support, and a
							 | 
						||
| 
								 | 
							
								target command for the following ROM monitor.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1011"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target dbug <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>dBUG ROM monitor for Motorola ColdFire.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="MIPS Embedded"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC198"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC197"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC199"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC199"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.4 MIPS Embedded </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC198::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1012"></A>
							 | 
						||
| 
								 | 
							
								GDB can use the MIPS remote debugging protocol to talk to a
							 | 
						||
| 
								 | 
							
								MIPS board attached to a serial line.  This is available when
							 | 
						||
| 
								 | 
							
								you configure GDB with <SAMP>`--target=mips-idt-ecoff'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Use these GDB commands to specify the connection to your target board:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target mips <VAR>port</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1013"></A>
							 | 
						||
| 
								 | 
							
								To run a program on the board, start up <CODE>gdb</CODE> with the
							 | 
						||
| 
								 | 
							
								name of your program as the argument.  To connect to the board, use the
							 | 
						||
| 
								 | 
							
								command <SAMP>`target mips <VAR>port</VAR>'</SAMP>, where <VAR>port</VAR> is the name of
							 | 
						||
| 
								 | 
							
								the serial port connected to the board.  If the program has not already
							 | 
						||
| 
								 | 
							
								been downloaded to the board, you may use the <CODE>load</CODE> command to
							 | 
						||
| 
								 | 
							
								download it.  You can then use all the usual GDB commands.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For example, this sequence connects to the target board through a serial
							 | 
						||
| 
								 | 
							
								port, and loads and runs a program called <VAR>prog</VAR> through the
							 | 
						||
| 
								 | 
							
								debugger:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>host$ gdb <VAR>prog</VAR>
							 | 
						||
| 
								 | 
							
								GDB is free software and <small>...</small>
							 | 
						||
| 
								 | 
							
								(gdb) target mips /dev/ttyb
							 | 
						||
| 
								 | 
							
								(gdb) load <VAR>prog</VAR>
							 | 
						||
| 
								 | 
							
								(gdb) run
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>target mips <VAR>hostname</VAR>:<VAR>portnumber</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>On some GDB host configurations, you can specify a TCP
							 | 
						||
| 
								 | 
							
								connection (for instance, to a serial line managed by a terminal
							 | 
						||
| 
								 | 
							
								concentrator) instead of a serial port, using the syntax
							 | 
						||
| 
								 | 
							
								<SAMP>`<VAR>hostname</VAR>:<VAR>portnumber</VAR>'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>target pmon <VAR>port</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1014"></A>
							 | 
						||
| 
								 | 
							
								PMON ROM monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>target ddb <VAR>port</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1015"></A>
							 | 
						||
| 
								 | 
							
								NEC's DDB variant of PMON for Vr4300.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>target lsi <VAR>port</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1016"></A>
							 | 
						||
| 
								 | 
							
								LSI variant of PMON.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1017"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target r3900 <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Densan DVE-R3900 ROM monitor for Toshiba R3900 Mips.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1018"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target array <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Array Tech LSI33K RAID controller board.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB also supports these special commands for MIPS targets:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set mipsfpu double</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set mipsfpu single</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set mipsfpu none</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set mipsfpu auto</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show mipsfpu</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1019"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1020"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1021"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1022"></A>
							 | 
						||
| 
								 | 
							
								If your target board does not support the MIPS floating point
							 | 
						||
| 
								 | 
							
								coprocessor, you should use the command <SAMP>`set mipsfpu none'</SAMP> (if you
							 | 
						||
| 
								 | 
							
								need this, you may wish to put the command in your GDB init
							 | 
						||
| 
								 | 
							
								file).  This tells GDB how to find the return value of
							 | 
						||
| 
								 | 
							
								functions which return floating point values.  It also allows
							 | 
						||
| 
								 | 
							
								GDB to avoid saving the floating point registers when calling
							 | 
						||
| 
								 | 
							
								functions on the board.  If you are using a floating point coprocessor
							 | 
						||
| 
								 | 
							
								with only single precision floating point support, as on the R4650
							 | 
						||
| 
								 | 
							
								processor, use the command <SAMP>`set mipsfpu single'</SAMP>.  The default
							 | 
						||
| 
								 | 
							
								double precision floating point coprocessor may be selected using
							 | 
						||
| 
								 | 
							
								<SAMP>`set mipsfpu double'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In previous versions the only choices were double precision or no
							 | 
						||
| 
								 | 
							
								floating point, so <SAMP>`set mipsfpu on'</SAMP> will select double precision
							 | 
						||
| 
								 | 
							
								and <SAMP>`set mipsfpu off'</SAMP> will select no floating point.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								As usual, you can inquire about the <CODE>mipsfpu</CODE> variable with
							 | 
						||
| 
								 | 
							
								<SAMP>`show mipsfpu'</SAMP>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set timeout <VAR>seconds</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>set retransmit-timeout <VAR>seconds</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show timeout</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show retransmit-timeout</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1023"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1024"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1025"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1026"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1027"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1028"></A>
							 | 
						||
| 
								 | 
							
								You can control the timeout used while waiting for a packet, in the MIPS
							 | 
						||
| 
								 | 
							
								remote protocol, with the <CODE>set timeout <VAR>seconds</VAR></CODE> command.  The
							 | 
						||
| 
								 | 
							
								default is 5 seconds.  Similarly, you can control the timeout used while
							 | 
						||
| 
								 | 
							
								waiting for an acknowledgement of a packet with the <CODE>set
							 | 
						||
| 
								 | 
							
								retransmit-timeout <VAR>seconds</VAR></CODE> command.  The default is 3 seconds.
							 | 
						||
| 
								 | 
							
								You can inspect both values with <CODE>show timeout</CODE> and <CODE>show
							 | 
						||
| 
								 | 
							
								retransmit-timeout</CODE>.  (These commands are <EM>only</EM> available when
							 | 
						||
| 
								 | 
							
								GDB is configured for <SAMP>`--target=mips-idt-ecoff'</SAMP>.)
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The timeout set by <CODE>set timeout</CODE> does not apply when GDB
							 | 
						||
| 
								 | 
							
								is waiting for your program to stop.  In that case, GDB waits
							 | 
						||
| 
								 | 
							
								forever because it has no way of knowing how long the program is going
							 | 
						||
| 
								 | 
							
								to run before stopping.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set syn-garbage-limit <VAR>num</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1029"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1030"></A>
							 | 
						||
| 
								 | 
							
								Limit the maximum number of characters GDB should ignore when
							 | 
						||
| 
								 | 
							
								it tries to synchronize with the remote target.  The default is 10
							 | 
						||
| 
								 | 
							
								characters.  Setting the limit to -1 means there's no limit.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show syn-garbage-limit</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1031"></A>
							 | 
						||
| 
								 | 
							
								Show the current limit on the number of characters to ignore when
							 | 
						||
| 
								 | 
							
								trying to synchronize with the remote system.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set monitor-prompt <VAR>prompt</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1032"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1033"></A>
							 | 
						||
| 
								 | 
							
								Tell GDB to expect the specified <VAR>prompt</VAR> string from the
							 | 
						||
| 
								 | 
							
								remote monitor.  The default depends on the target:
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT>pmon target
							 | 
						||
| 
								 | 
							
								<DD><SAMP>`PMON'</SAMP>
							 | 
						||
| 
								 | 
							
								<DT>ddb target
							 | 
						||
| 
								 | 
							
								<DD><SAMP>`NEC010'</SAMP>
							 | 
						||
| 
								 | 
							
								<DT>lsi target
							 | 
						||
| 
								 | 
							
								<DD><SAMP>`PMON>'</SAMP>
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show monitor-prompt</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1034"></A>
							 | 
						||
| 
								 | 
							
								Show the current strings GDB expects as the prompt from the
							 | 
						||
| 
								 | 
							
								remote monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set monitor-warnings</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1035"></A>
							 | 
						||
| 
								 | 
							
								Enable or disable monitor warnings about hardware breakpoints.  This
							 | 
						||
| 
								 | 
							
								has effect only for the <CODE>lsi</CODE> target.  When on, GDB will
							 | 
						||
| 
								 | 
							
								display warning messages whose codes are returned by the <CODE>lsi</CODE>
							 | 
						||
| 
								 | 
							
								PMON monitor for breakpoint commands.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show monitor-warnings</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1036"></A>
							 | 
						||
| 
								 | 
							
								Show the current setting of printing monitor warnings.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>pmon <VAR>command</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1037"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1038"></A>
							 | 
						||
| 
								 | 
							
								This command allows sending an arbitrary <VAR>command</VAR> string to the
							 | 
						||
| 
								 | 
							
								monitor.  The monitor must be in debug mode for this to work.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="OpenRISC 1000"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC199"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC198"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC200"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC200"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.5 OpenRISC 1000 </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC199::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1039"></A>
							 | 
						||
| 
								 | 
							
								See OR1k Architecture document (<A HREF="www.opencores.org">www.opencores.org</A>) for more information
							 | 
						||
| 
								 | 
							
								about platform and commands.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1040"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target jtag jtag://<VAR>host</VAR>:<VAR>port</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Connects to remote JTAG server.
							 | 
						||
| 
								 | 
							
								JTAG remote server can be either an or1ksim or JTAG server,
							 | 
						||
| 
								 | 
							
								connected via parallel port to the board.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Example: <CODE>target jtag jtag://localhost:9999</CODE>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1041"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>or1ksim <VAR>command</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>If connected to <CODE>or1ksim</CODE> OpenRISC 1000 Architectural
							 | 
						||
| 
								 | 
							
								Simulator, proprietary commands can be executed.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1042"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info or1k spr</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays spr groups.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info or1k spr <VAR>group</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info or1k spr <VAR>groupno</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Displays register names in selected group.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info or1k spr <VAR>group</VAR> <VAR>register</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info or1k spr <VAR>register</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info or1k spr <VAR>groupno</VAR> <VAR>registerno</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>info or1k spr <VAR>registerno</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Shows information about specified spr register.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1043"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>spr <VAR>group</VAR> <VAR>register</VAR> <VAR>value</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>spr <VAR>register <VAR>value</VAR></VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>spr <VAR>groupno</VAR> <VAR>registerno <VAR>value</VAR></VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>spr <VAR>registerno <VAR>value</VAR></VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Writes <VAR>value</VAR> to specified spr register.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Some implementations of OpenRISC 1000 Architecture also have hardware trace.
							 | 
						||
| 
								 | 
							
								It is very similar to GDB trace, except it does not interfere with normal
							 | 
						||
| 
								 | 
							
								program execution and is thus much faster.  Hardware breakpoints/watchpoint
							 | 
						||
| 
								 | 
							
								triggers can be set using:
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>$LEA/$LDATA</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Load effective address/data
							 | 
						||
| 
								 | 
							
								<DT><CODE>$SEA/$SDATA</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Store effective address/data
							 | 
						||
| 
								 | 
							
								<DT><CODE>$AEA/$ADATA</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Access effective address ($SEA or $LEA) or data ($SDATA/$LDATA)
							 | 
						||
| 
								 | 
							
								<DT><CODE>$FETCH</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Fetch data
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When triggered, it can capture low level data, like: <CODE>PC</CODE>, <CODE>LSEA</CODE>,
							 | 
						||
| 
								 | 
							
								<CODE>LDATA</CODE>, <CODE>SDATA</CODE>, <CODE>READSPR</CODE>, <CODE>WRITESPR</CODE>, <CODE>INSTR</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<CODE>htrace</CODE> commands:
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1044"></A>
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1045"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>hwatch <VAR>conditional</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set hardware watchpoint on combination of Load/Store Effective Address(es)
							 | 
						||
| 
								 | 
							
								or Data.  For example:
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<CODE>hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && ($SDATA >= 50)</CODE>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<CODE>hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && ($SDATA >= 50)</CODE>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1046"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace info</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display information about current HW trace configuration.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace trigger <VAR>conditional</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set starting criteria for HW trace.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace qualifier <VAR>conditional</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set acquisition qualifier for HW trace.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace stop <VAR>conditional</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set HW trace stopping criteria.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace record [<VAR>data</VAR>]*</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Selects the data to be recorded, when qualifier is met and HW trace was
							 | 
						||
| 
								 | 
							
								triggered.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace enable</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>htrace disable</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Enables/disables the HW trace.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace rewind [<VAR>filename</VAR>]</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Clears currently recorded trace data.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If filename is specified, new trace file is made and any newly collected data
							 | 
						||
| 
								 | 
							
								will be written there.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace print [<VAR>start</VAR> [<VAR>len</VAR>]]</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Prints trace buffer, using current record configuration.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace mode continuous</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set continuous trace mode.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>htrace mode suspend</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Set suspend trace mode.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="PowerPC Embedded"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC200"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC199"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC201"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC201"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.6 PowerPC Embedded </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC200::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB provides the following PowerPC-specific commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1047"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set powerpc soft-float</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show powerpc soft-float</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Force GDB to use (or not use) a software floating point calling
							 | 
						||
| 
								 | 
							
								convention.  By default, GDB selects the calling convention based
							 | 
						||
| 
								 | 
							
								on the selected architecture and the provided executable file.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set powerpc vector-abi</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show powerpc vector-abi</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Force GDB to use the specified calling convention for vector
							 | 
						||
| 
								 | 
							
								arguments and return values.  The valid options are <SAMP>`auto'</SAMP>;
							 | 
						||
| 
								 | 
							
								<SAMP>`generic'</SAMP>, to avoid vector registers even if they are present;
							 | 
						||
| 
								 | 
							
								<SAMP>`altivec'</SAMP>, to use AltiVec registers; and <SAMP>`spe'</SAMP> to use SPE
							 | 
						||
| 
								 | 
							
								registers.  By default, GDB selects the calling convention
							 | 
						||
| 
								 | 
							
								based on the selected architecture and the provided executable file.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1048"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target dink32 <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>DINK32 ROM monitor.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1049"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target ppcbug <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1050"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target ppcbug1 <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>PPCBUG ROM monitor for PowerPC.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1051"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target sds <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>SDS monitor, running on a PowerPC board (such as Motorola's ADS).
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1052"></A>
							 | 
						||
| 
								 | 
							
								The following commands specific to the SDS protocol are supported
							 | 
						||
| 
								 | 
							
								by GDB:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set sdstimeout <VAR>nsec</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1053"></A>
							 | 
						||
| 
								 | 
							
								Set the timeout for SDS protocol reads to be <VAR>nsec</VAR> seconds.  The
							 | 
						||
| 
								 | 
							
								default is 2 seconds.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show sdstimeout</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1054"></A>
							 | 
						||
| 
								 | 
							
								Show the current value of the SDS timeout.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>sds <VAR>command</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1055"></A>
							 | 
						||
| 
								 | 
							
								Send the specified <VAR>command</VAR> string to the SDS monitor.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="PA"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC201"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC200"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.7 HP PA Embedded </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC201::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1056"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target op50n <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>OP50N monitor, running on an OKI HPPA board.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1057"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target w89k <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>W89K monitor, running on a Winbond HPPA board.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclet"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC202"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC201"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC203"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> >> </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> 18.3.8 Tsqware Sparclet </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC202::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1058"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB enables developers to debug tasks running on
							 | 
						||
| 
								 | 
							
								Sparclet targets from a Unix host.
							 | 
						||
| 
								 | 
							
								GDB uses code that runs on
							 | 
						||
| 
								 | 
							
								both the Unix host and on the Sparclet target.  The program
							 | 
						||
| 
								 | 
							
								<CODE>gdb</CODE> is installed and executed on the Unix host.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>remotetimeout <VAR>args</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1059"></A>
							 | 
						||
| 
								 | 
							
								GDB supports the option <CODE>remotetimeout</CODE>.
							 | 
						||
| 
								 | 
							
								This option is set by the user, and  <VAR>args</VAR> represents the number of
							 | 
						||
| 
								 | 
							
								seconds GDB waits for responses.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1060"></A>
							 | 
						||
| 
								 | 
							
								When compiling for debugging, include the options <SAMP>`-g'</SAMP> to get debug
							 | 
						||
| 
								 | 
							
								information and <SAMP>`-Ttext'</SAMP> to relocate the program to where you wish to
							 | 
						||
| 
								 | 
							
								load it on the target.  You may also want to add the options <SAMP>`-n'</SAMP> or
							 | 
						||
| 
								 | 
							
								<SAMP>`-N'</SAMP> in order to reduce the size of the sections.  Example:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>sparclet-aout-gcc prog.c -Ttext 0x12010000 -g -o prog -N
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You can use <CODE>objdump</CODE> to verify that the addresses are what you intended:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>sparclet-aout-objdump --headers --syms prog
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1061"></A>
							 | 
						||
| 
								 | 
							
								Once you have set
							 | 
						||
| 
								 | 
							
								your Unix execution search path to find GDB, you are ready to
							 | 
						||
| 
								 | 
							
								run GDB.  From your Unix host, run <CODE>gdb</CODE>
							 | 
						||
| 
								 | 
							
								(or <CODE>sparclet-aout-gdb</CODE>, depending on your installation).
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB comes up showing the prompt:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdbslet)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC203">18.3.8.1 Setting File to Debug</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Setting the file to debug</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC204">18.3.8.2 Connecting to Sparclet</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC205">18.3.8.3 Sparclet Download</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Sparclet download</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC206">18.3.8.4 Running and Debugging</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">Running and debugging</TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclet File"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC203"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC204"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.3.8.1 Setting File to Debug </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC203::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB command <CODE>file</CODE> lets you choose with program to debug.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdbslet) file prog
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB then attempts to read the symbol table of <TT>`prog'</TT>.
							 | 
						||
| 
								 | 
							
								GDB locates
							 | 
						||
| 
								 | 
							
								the file by searching the directories listed in the command search
							 | 
						||
| 
								 | 
							
								path.
							 | 
						||
| 
								 | 
							
								If the file was compiled with debug information (option <SAMP>`-g'</SAMP>), source
							 | 
						||
| 
								 | 
							
								files will be searched as well.
							 | 
						||
| 
								 | 
							
								GDB locates
							 | 
						||
| 
								 | 
							
								the source files by searching the directories listed in the directory search
							 | 
						||
| 
								 | 
							
								path (see section <A HREF="gdb_5.html#SEC22">Your Program's Environment</A>).
							 | 
						||
| 
								 | 
							
								If it fails
							 | 
						||
| 
								 | 
							
								to find a file, it displays a message such as:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>prog: No such file or directory.
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When this happens, add the appropriate directories to the search paths with
							 | 
						||
| 
								 | 
							
								the GDB commands <CODE>path</CODE> and <CODE>dir</CODE>, and execute the
							 | 
						||
| 
								 | 
							
								<CODE>target</CODE> command again.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclet Connection"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC204"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC203"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC205"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC205"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.3.8.2 Connecting to Sparclet </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC204::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The GDB command <CODE>target</CODE> lets you connect to a Sparclet target.
							 | 
						||
| 
								 | 
							
								To connect to a target on serial port "<CODE>ttya</CODE>", type:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdbslet) target sparclet /dev/ttya
							 | 
						||
| 
								 | 
							
								Remote target sparclet connected to /dev/ttya
							 | 
						||
| 
								 | 
							
								main () at ../prog.c:3
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GDB displays messages like these:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>Connected to ttya.
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclet Download"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC205"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC204"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC206"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC206"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.3.8.3 Sparclet Download </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC205::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1062"></A>
							 | 
						||
| 
								 | 
							
								Once connected to the Sparclet target,
							 | 
						||
| 
								 | 
							
								you can use the GDB
							 | 
						||
| 
								 | 
							
								<CODE>load</CODE> command to download the file from the host to the target.
							 | 
						||
| 
								 | 
							
								The file name and load offset should be given as arguments to the <CODE>load</CODE>
							 | 
						||
| 
								 | 
							
								command.
							 | 
						||
| 
								 | 
							
								Since the file format is aout, the program must be loaded to the starting
							 | 
						||
| 
								 | 
							
								address.  You can use <CODE>objdump</CODE> to find out what this value is.  The load
							 | 
						||
| 
								 | 
							
								offset is an offset which is added to the VMA (virtual memory address)
							 | 
						||
| 
								 | 
							
								of each of the file's sections.
							 | 
						||
| 
								 | 
							
								For instance, if the program
							 | 
						||
| 
								 | 
							
								<TT>`prog'</TT> was linked to text address 0x1201000, with data at 0x12010160
							 | 
						||
| 
								 | 
							
								and bss at 0x12010170, in GDB, type:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdbslet) load prog 0x12010000
							 | 
						||
| 
								 | 
							
								Loading section .text, size 0xdb0 vma 0x12010000
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If the code is loaded at a different address then what the program was linked
							 | 
						||
| 
								 | 
							
								to, you may need to use the <CODE>section</CODE> and <CODE>add-symbol-file</CODE> commands
							 | 
						||
| 
								 | 
							
								to tell GDB where to map the symbol table.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclet Execution"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC206"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC205"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC202"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> >> </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>
							 | 
						||
| 
								 | 
							
								<H4> 18.3.8.4 Running and Debugging </H4>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC206::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1063"></A>
							 | 
						||
| 
								 | 
							
								You can now begin debugging the task using GDB's execution control
							 | 
						||
| 
								 | 
							
								commands, <CODE>b</CODE>, <CODE>step</CODE>, <CODE>run</CODE>, etc.  See the GDB
							 | 
						||
| 
								 | 
							
								manual for the list of commands.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>(gdbslet) b main
							 | 
						||
| 
								 | 
							
								Breakpoint 1 at 0x12010000: file prog.c, line 3.
							 | 
						||
| 
								 | 
							
								(gdbslet) run
							 | 
						||
| 
								 | 
							
								Starting program: prog
							 | 
						||
| 
								 | 
							
								Breakpoint 1, main (argc=1, argv=0xeffff21c) at prog.c:3
							 | 
						||
| 
								 | 
							
								3        char *symarg = 0;
							 | 
						||
| 
								 | 
							
								(gdbslet) step
							 | 
						||
| 
								 | 
							
								4        char *execarg = "hello!";
							 | 
						||
| 
								 | 
							
								(gdbslet)
							 | 
						||
| 
								 | 
							
								</FONT></pre></td></tr></table></P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Sparclite"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC207"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC206"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC208"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.9 Fujitsu Sparclite </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC207::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1064"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target sparclite <VAR>dev</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Fujitsu sparclite boards, used only for the purpose of loading.
							 | 
						||
| 
								 | 
							
								You must use an additional command to debug the program.
							 | 
						||
| 
								 | 
							
								For example: target remote <VAR>dev</VAR> using GDB standard
							 | 
						||
| 
								 | 
							
								remote protocol.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Z8000"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC208"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC207"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC209"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.10 Zilog Z8000 </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC208::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1065"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1066"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1067"></A>
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When configured for debugging Zilog Z8000 targets, GDB includes
							 | 
						||
| 
								 | 
							
								a Z8000 simulator.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For the Z8000 family, <SAMP>`target sim'</SAMP> simulates either the Z8002 (the
							 | 
						||
| 
								 | 
							
								unsegmented variant of the Z8000 architecture) or the Z8001 (the
							 | 
						||
| 
								 | 
							
								segmented variant).  The simulator recognizes which architecture is
							 | 
						||
| 
								 | 
							
								appropriate by inspecting the object code.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>target sim <VAR>args</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1068"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1069"></A>
							 | 
						||
| 
								 | 
							
								Debug programs on a simulated CPU.  If the simulator supports setup
							 | 
						||
| 
								 | 
							
								options, specify them via <VAR>args</VAR>.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								After specifying this target, you can debug programs for the simulated
							 | 
						||
| 
								 | 
							
								CPU in the same style as programs for your host computer; use the
							 | 
						||
| 
								 | 
							
								<CODE>file</CODE> command to load a new program image, the <CODE>run</CODE> command
							 | 
						||
| 
								 | 
							
								to run your program, and so on.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								As well as making available all the usual machine registers
							 | 
						||
| 
								 | 
							
								(see section <A HREF="gdb_9.html#SEC69">Registers</A>), the Z8000 simulator provides three
							 | 
						||
| 
								 | 
							
								additional items of information as specially named registers:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>cycles</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Counts clock-ticks in the simulator.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>insts</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Counts instructions run in the simulator.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>time</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Execution time in 60ths of a second.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You can refer to these values in GDB expressions with the usual
							 | 
						||
| 
								 | 
							
								conventions; for example, <SAMP>`b fputc if $cycles>5000'</SAMP> sets a
							 | 
						||
| 
								 | 
							
								conditional breakpoint that suspends only after at least 5000
							 | 
						||
| 
								 | 
							
								simulated clock ticks.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="AVR"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC209"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC208"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC210"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.11 Atmel AVR </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC209::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When configured for debugging the Atmel AVR, GDB supports the
							 | 
						||
| 
								 | 
							
								following AVR-specific commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info io_registers</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1070"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1071"></A>
							 | 
						||
| 
								 | 
							
								This command displays information about the AVR I/O registers.  For
							 | 
						||
| 
								 | 
							
								each register, GDB prints its number and value.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="CRIS"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC210"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC209"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC211"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.12 CRIS </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC210::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When configured for debugging CRIS, GDB provides the
							 | 
						||
| 
								 | 
							
								following CRIS-specific commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set cris-version <VAR>ver</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1072"></A>
							 | 
						||
| 
								 | 
							
								Set the current CRIS version to <VAR>ver</VAR>, either <SAMP>`10'</SAMP> or <SAMP>`32'</SAMP>.
							 | 
						||
| 
								 | 
							
								The CRIS version affects register names and sizes.  This command is useful in
							 | 
						||
| 
								 | 
							
								case autodetection of the CRIS version fails.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show cris-version</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the current CRIS version.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set cris-dwarf2-cfi</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1073"></A>
							 | 
						||
| 
								 | 
							
								Set the usage of DWARF-2 CFI for CRIS debugging.  The default is <SAMP>`on'</SAMP>.
							 | 
						||
| 
								 | 
							
								Change to <SAMP>`off'</SAMP> when using <CODE>gcc-cris</CODE> whose version is below 
							 | 
						||
| 
								 | 
							
								<CODE>R59</CODE>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show cris-dwarf2-cfi</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the current state of using DWARF-2 CFI.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set cris-mode <VAR>mode</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1074"></A>
							 | 
						||
| 
								 | 
							
								Set the current CRIS mode to <VAR>mode</VAR>.  It should only be changed when
							 | 
						||
| 
								 | 
							
								debugging in guru mode, in which case it should be set to 
							 | 
						||
| 
								 | 
							
								<SAMP>`guru'</SAMP> (the default is <SAMP>`normal'</SAMP>).
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show cris-mode</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show the current CRIS mode.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Super-H"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC211"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC210"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC196"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC194"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> >> </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> 18.3.13 Renesas Super-H </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC211::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For the Renesas Super-H processor, GDB provides these
							 | 
						||
| 
								 | 
							
								commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>regs</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1075"></A>
							 | 
						||
| 
								 | 
							
								Show the values of all Super-H registers.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Architectures"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC212"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC211"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC213"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4 Architectures </H2>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC212::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This section describes characteristics of architectures that affect
							 | 
						||
| 
								 | 
							
								all uses of GDB with the architecture, both native and cross.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC213">18.4.1 x86 Architecture-specific Issues</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC214">18.4.2 A29K</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC215">18.4.3 Alpha</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC216">18.4.4 MIPS</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC217">18.4.5 HPPA</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP">HP PA architecture</TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC218">18.4.6 Cell Broadband Engine SPU architecture</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_19.html#SEC219">18.4.7 PowerPC</A></TD><TD>  </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
							 | 
						||
| 
								 | 
							
								</TABLE></BLOCKQUOTE>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="i386"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC213"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC214"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.1 x86 Architecture-specific Issues </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC213::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set struct-convention <VAR>mode</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1076"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1077"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1078"></A>
							 | 
						||
| 
								 | 
							
								Set the convention used by the inferior to return <CODE>struct</CODE>s and
							 | 
						||
| 
								 | 
							
								<CODE>union</CODE>s from functions to <VAR>mode</VAR>.  Possible values of
							 | 
						||
| 
								 | 
							
								<VAR>mode</VAR> are <CODE>"pcc"</CODE>, <CODE>"reg"</CODE>, and <CODE>"default"</CODE> (the
							 | 
						||
| 
								 | 
							
								default).  <CODE>"default"</CODE> or <CODE>"pcc"</CODE> means that <CODE>struct</CODE>s
							 | 
						||
| 
								 | 
							
								are returned on the stack, while <CODE>"reg"</CODE> means that a
							 | 
						||
| 
								 | 
							
								<CODE>struct</CODE> or a <CODE>union</CODE> whose size is 1, 2, 4, or 8 bytes will
							 | 
						||
| 
								 | 
							
								be returned in a register.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show struct-convention</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1079"></A>
							 | 
						||
| 
								 | 
							
								Show the current setting of the convention to return <CODE>struct</CODE>s
							 | 
						||
| 
								 | 
							
								from functions.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="A29K"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC214"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC213"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC215"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC215"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.2 A29K </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC214::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1080"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1081"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1082"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set rstack_high_address <VAR>address</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>On AMD 29000 family processors, registers are saved in a separate
							 | 
						||
| 
								 | 
							
								<EM>register stack</EM>.  There is no way for GDB to determine the
							 | 
						||
| 
								 | 
							
								extent of this stack.  Normally, GDB just assumes that the
							 | 
						||
| 
								 | 
							
								stack is "large enough".  This may result in GDB referencing
							 | 
						||
| 
								 | 
							
								memory locations that do not exist.  If necessary, you can get around
							 | 
						||
| 
								 | 
							
								this problem by specifying the ending address of the register stack with
							 | 
						||
| 
								 | 
							
								the <CODE>set rstack_high_address</CODE> command.  The argument should be an
							 | 
						||
| 
								 | 
							
								address, which you probably want to precede with <SAMP>`0x'</SAMP> to specify in
							 | 
						||
| 
								 | 
							
								hexadecimal.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1083"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>show rstack_high_address</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display the current limit of the register stack, on AMD 29000 family
							 | 
						||
| 
								 | 
							
								processors.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Alpha"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC215"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC214"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC216"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC216"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.3 Alpha </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC215::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								See the following section.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="MIPS"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC216"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC215"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC217"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC217"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.4 MIPS </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC216::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1084"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1085"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1086"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1087"></A>
							 | 
						||
| 
								 | 
							
								Alpha- and MIPS-based computers use an unusual stack frame, which
							 | 
						||
| 
								 | 
							
								sometimes requires GDB to search backward in the object code to
							 | 
						||
| 
								 | 
							
								find the beginning of a function.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1088"></A>
							 | 
						||
| 
								 | 
							
								To improve response time (especially for embedded applications, where
							 | 
						||
| 
								 | 
							
								GDB may be restricted to a slow serial line for this search)
							 | 
						||
| 
								 | 
							
								you may want to limit the size of this search, using one of these
							 | 
						||
| 
								 | 
							
								commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1089"></A>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set heuristic-fence-post <VAR>limit</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD>Restrict GDB to examining at most <VAR>limit</VAR> bytes in its
							 | 
						||
| 
								 | 
							
								search for the beginning of a function.  A value of <VAR>0</VAR> (the
							 | 
						||
| 
								 | 
							
								default) means there is no limit.  However, except for <VAR>0</VAR>, the
							 | 
						||
| 
								 | 
							
								larger the limit the more bytes <CODE>heuristic-fence-post</CODE> must search
							 | 
						||
| 
								 | 
							
								and therefore the longer it takes to run.  You should only need to use
							 | 
						||
| 
								 | 
							
								this command when debugging a stripped executable.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show heuristic-fence-post</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display the current limit.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								These commands are available <EM>only</EM> when GDB is configured
							 | 
						||
| 
								 | 
							
								for debugging programs on Alpha or MIPS processors.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Several MIPS-specific commands are available when debugging MIPS
							 | 
						||
| 
								 | 
							
								programs:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set mips abi <VAR>arg</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1090"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1091"></A>
							 | 
						||
| 
								 | 
							
								Tell GDB which MIPS ABI is used by the inferior.  Possible
							 | 
						||
| 
								 | 
							
								values of <VAR>arg</VAR> are:
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`auto'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD>The default ABI associated with the current binary (this is the
							 | 
						||
| 
								 | 
							
								default).
							 | 
						||
| 
								 | 
							
								<DT><SAMP>`o32'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`o64'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`n32'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`n64'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`eabi32'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`eabi64'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD><DT><SAMP>`auto'</SAMP>
							 | 
						||
| 
								 | 
							
								<DD></DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show mips abi</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1092"></A>
							 | 
						||
| 
								 | 
							
								Show the MIPS ABI used by GDB to debug the inferior.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set mipsfpu</CODE>
							 | 
						||
| 
								 | 
							
								<DD><DT><CODE>show mipsfpu</CODE>
							 | 
						||
| 
								 | 
							
								<DD>See section <A HREF="gdb_19.html#SEC198">set mipsfpu</A>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set mips mask-address <VAR>arg</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1093"></A>
							 | 
						||
| 
								 | 
							
								<A NAME="IDX1094"></A>
							 | 
						||
| 
								 | 
							
								This command determines whether the most-significant 32 bits of 64-bit
							 | 
						||
| 
								 | 
							
								MIPS addresses are masked off.  The argument <VAR>arg</VAR> can be
							 | 
						||
| 
								 | 
							
								<SAMP>`on'</SAMP>, <SAMP>`off'</SAMP>, or <SAMP>`auto'</SAMP>.  The latter is the default
							 | 
						||
| 
								 | 
							
								setting, which lets GDB determine the correct value.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show mips mask-address</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1095"></A>
							 | 
						||
| 
								 | 
							
								Show whether the upper 32 bits of MIPS addresses are masked off or
							 | 
						||
| 
								 | 
							
								not.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set remote-mips64-transfers-32bit-regs</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1096"></A>
							 | 
						||
| 
								 | 
							
								This command controls compatibility with 64-bit MIPS targets that
							 | 
						||
| 
								 | 
							
								transfer data in 32-bit quantities.  If you have an old MIPS 64 target
							 | 
						||
| 
								 | 
							
								that transfers 32 bits for some registers, like SR and FSR,
							 | 
						||
| 
								 | 
							
								and 64 bits for other registers, set this option to <SAMP>`on'</SAMP>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show remote-mips64-transfers-32bit-regs</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1097"></A>
							 | 
						||
| 
								 | 
							
								Show the current setting of compatibility with older MIPS 64 targets.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debug mips</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1098"></A>
							 | 
						||
| 
								 | 
							
								This command turns on and off debugging messages for the MIPS-specific
							 | 
						||
| 
								 | 
							
								target code in GDB.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show debug mips</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1099"></A>
							 | 
						||
| 
								 | 
							
								Show the current setting of MIPS debugging messages.
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="HPPA"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC217"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC216"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC218"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC218"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.5 HPPA </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC217::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When GDB is debugging the HP PA architecture, it provides the
							 | 
						||
| 
								 | 
							
								following special commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>set debug hppa</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1100"></A>
							 | 
						||
| 
								 | 
							
								This command determines whether HPPA architecture-specific debugging
							 | 
						||
| 
								 | 
							
								messages are to be displayed.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>show debug hppa</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Show whether HPPA debugging messages are displayed.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>maint print unwind <VAR>address</VAR></CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1101"></A>
							 | 
						||
| 
								 | 
							
								This command displays the contents of the unwind table entry at the
							 | 
						||
| 
								 | 
							
								given <VAR>address</VAR>.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="SPU"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC218"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC217"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC219"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC219"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.6 Cell Broadband Engine SPU architecture </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC218::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When GDB is debugging the Cell Broadband Engine SPU architecture,
							 | 
						||
| 
								 | 
							
								it provides the following special commands:
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DL COMPACT>
							 | 
						||
| 
								 | 
							
								<DT><CODE>info spu event</CODE>
							 | 
						||
| 
								 | 
							
								<DD><A NAME="IDX1102"></A>
							 | 
						||
| 
								 | 
							
								Display SPU event facility status.  Shows current event mask
							 | 
						||
| 
								 | 
							
								and pending event status.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info spu signal</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display SPU signal notification facility status.  Shows pending
							 | 
						||
| 
								 | 
							
								signal-control word and signal notification mode of both signal
							 | 
						||
| 
								 | 
							
								notification channels.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info spu mailbox</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display SPU mailbox facility status.  Shows all pending entries,
							 | 
						||
| 
								 | 
							
								in order of processing, in each of the SPU Write Outbound,
							 | 
						||
| 
								 | 
							
								SPU Write Outbound Interrupt, and SPU Read Inbound mailboxes.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info spu dma</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display MFC DMA status.  Shows all pending commands in the MFC
							 | 
						||
| 
								 | 
							
								DMA queue.  For each entry, opcode, tag, class IDs, effective
							 | 
						||
| 
								 | 
							
								and local store addresses and transfer size are shown.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<DT><CODE>info spu proxydma</CODE>
							 | 
						||
| 
								 | 
							
								<DD>Display MFC Proxy-DMA status.  Shows all pending commands in the MFC
							 | 
						||
| 
								 | 
							
								Proxy-DMA queue.  For each entry, opcode, tag, class IDs, effective
							 | 
						||
| 
								 | 
							
								and local store addresses and transfer size are shown.
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								<A NAME="PowerPC"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<A NAME="SEC219"></A>
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC218"> < </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> > </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">   <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC212"> Up </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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> 18.4.7 PowerPC </H3>
							 | 
						||
| 
								 | 
							
								<!--docid::SEC219::-->
							 | 
						||
| 
								 | 
							
								<P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When GDB is debugging the PowerPC architecture, it provides a set of 
							 | 
						||
| 
								 | 
							
								pseudo-registers to enable inspection of 128-bit wide Decimal Floating Point
							 | 
						||
| 
								 | 
							
								numbers stored in the floating point registers. These values must be stored
							 | 
						||
| 
								 | 
							
								in two consecutive registers, always starting at an even register like
							 | 
						||
| 
								 | 
							
								<CODE>f0</CODE> or <CODE>f2</CODE>.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The pseudo-registers go from <CODE>$dl0</CODE> through <CODE>$dl15</CODE>, and are formed
							 | 
						||
| 
								 | 
							
								by joining the even/odd register pairs <CODE>f0</CODE> and <CODE>f1</CODE> for <CODE>$dl0</CODE>,
							 | 
						||
| 
								 | 
							
								<CODE>f2</CODE> and <CODE>f3</CODE> for <CODE>$dl1</CODE> and so on.
							 | 
						||
| 
								 | 
							
								</P><P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<A NAME="Controlling GDB"></A>
							 | 
						||
| 
								 | 
							
								<HR SIZE="6">
							 | 
						||
| 
								 | 
							
								<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
							 | 
						||
| 
								 | 
							
								<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_19.html#SEC177"> << </A>]</TD>
							 | 
						||
| 
								 | 
							
								<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_20.html#SEC220"> >> </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>
							 |