@end titlepage
@page
-@ifnottex
-@node Top
+
+@node Top, Summary, (dir), (dir)
+@ifinfo
@top Debugging with @value{GDBN}
This file describes @value{GDBN}, the @sc{gnu} symbolic debugger.
@value{GDBVN}.
Copyright (C) 1988-1999 Free Software Foundation, Inc.
+@end ifinfo
@menu
* Summary:: Summary of @value{GDBN}
* Sample Session:: A sample @value{GDBN} session
* Index:: Index
@end menu
-@end ifnottex
-
-@node Summary
+@node Summary, Sample Session, Top, Top
@unnumbered Summary of @value{GDBN}
The purpose of a debugger such as @value{GDBN} is to allow you to see what is
* Contributors:: Contributors to GDB
@end menu
-@node Free Software
+@node Free Software, Contributors, Summary, Summary
@unnumberedsec Free software
@value{GDBN} is @dfn{free software}, protected by the @sc{gnu}
you have these freedoms and that you cannot take these freedoms away
from anyone else.
-@node Contributors
+@node Contributors, , Free Software, Summary
@unnumberedsec Contributors to @value{GDBN}
Richard Stallman was the original author of @value{GDBN}, and of many
Zuhn have made contributions both large and small.
-@node Sample Session
+@node Sample Session, Invocation, Summary, Top
@chapter A Sample @value{GDBN} Session
You can use this manual at your leisure to read all about @value{GDBN}.
(@value{GDBP}) @b{quit}
@end smallexample
-@node Invocation
+@node Invocation, Commands, Sample Session, Top
@chapter Getting In and Out of @value{GDBN}
This chapter discusses how to start @value{GDBN}, and how to get out of it.
* Shell Commands:: How to use shell commands inside @value{GDBN}
@end menu
-@node Invoking GDB
+@node Invoking GDB, Quitting GDB, Invocation, Invocation
@section Invoking @value{GDBN}
Invoke @value{GDBN} by running the program @code{@value{GDBP}}. Once started,
* Mode Options:: Choosing modes
@end menu
-@node File Options
+@node File Options, Mode Options, Invoking GDB, Invoking GDB
@subsection Choosing files
When @value{GDBN} starts, it reads any arguments other than options as
gdb -batch -nx -mapped -readnow programname
@end example
-@node Mode Options
+@node Mode Options, , File Options, Invoking GDB
@subsection Choosing modes
You can run @value{GDBN} in various alternative modes---for example, in
@end table
-@node Quitting GDB
+@node Quitting GDB, Shell Commands, Invoking GDB, Invocation
@section Quitting @value{GDBN}
@cindex exiting @value{GDBN}
@cindex leaving @value{GDBN}
device, you can release it with the @code{detach} command
(@pxref{Attach, ,Debugging an already-running process}).
-@node Shell Commands
+@node Shell Commands, , Quitting GDB, Invocation
@section Shell commands
If you need to execute occasional shell commands during your
arguments. This is equivalent to @samp{shell make @var{make-args}}.
@end table
-@node Commands
+@node Commands, Running, Invocation, Top
@chapter @value{GDBN} Commands
You can abbreviate a @value{GDBN} command to the first few letters of the command
* Help:: How to ask @value{GDBN} for help
@end menu
-@node Command Syntax
+@node Command Syntax, Completion, Commands, Commands
@section Command syntax
A @value{GDBN} command is a single line of input. There is no limit on
nothing. This is useful mainly in command files (@pxref{Command
Files,,Command files}).
-@node Completion
+@node Completion, Help, Command Syntax, Commands
@section Command completion
@cindex completion
see @ref{Debugging C plus plus, ,@value{GDBN} features for C++}.
-@node Help
+@node Help, , Completion, Commands
@section Getting help
@cindex online documentation
@kindex help
@end table
-@node Running
+@node Running, Stopping, Commands, Top
@chapter Running Programs Under @value{GDBN}
When you run a program under @value{GDBN}, you must first generate
* Processes:: Debugging programs with multiple processes
@end menu
-@node Compilation
+@node Compilation, Starting, Running, Running
@section Compiling for debugging
In order to debug a program effectively, you need to generate
format; if your @sc{gnu} C compiler has this option, do not use it.
@need 2000
-@node Starting
+@node Starting, Arguments, Compilation, Running
@section Starting your program
@cindex starting
@cindex running
table, and reads it again. When it does this, @value{GDBN} tries to retain
your current breakpoints.
-@node Arguments
+@node Arguments, Environment, Starting, Running
@section Your program's arguments
@cindex arguments (to your program)
Show the arguments to give your program when it is started.
@end table
-@node Environment
+@node Environment, Working Directory, Arguments, Running
@section Your program's environment
@cindex environment (of your program)
files that are only run when you sign on, such as @file{.login} or
@file{.profile}.
-@node Working Directory
+@node Working Directory, Input/Output, Environment, Running
@section Your program's working directory
@cindex working directory (of your program)
Print the @value{GDBN} working directory.
@end table
-@node Input/Output
+@node Input/Output, Attach, Working Directory, Running
@section Your program's input and output
@cindex redirection
command, only the input @emph{for your program} is affected. The input
for @value{GDBN} still comes from your terminal.
-@node Attach
+@node Attach, Kill Process, Input/Output, Running
@section Debugging an already-running process
@kindex attach
@cindex attach
confirm} command (@pxref{Messages/Warnings, ,Optional warnings and
messages}).
-@node Kill Process
+@node Kill Process, Threads, Attach, Running
@section Killing the child process
@table @code
reads the symbol table again (while trying to preserve your current
breakpoint settings).
-@node Threads
+@node Threads, Processes, Kill Process, Running
@section Debugging programs with multiple threads
@cindex threads of execution
@xref{Set Watchpoints,,Setting watchpoints}, for information about
watchpoints in programs with multiple threads.
-@node Processes
+@node Processes, , Threads, Running
@section Debugging programs with multiple processes
@cindex fork, debugging programs which call
a @code{fork}, @code{vfork}, or @code{exec} call is made. @xref{Set
Catchpoints, ,Setting catchpoints}.
-@node Stopping
+@node Stopping, Stack, Running, Top
@chapter Stopping and Continuing
The principal purposes of using a debugger are so that you can stop your
* Thread Stops:: Stopping and starting multi-thread programs
@end menu
-@node Breakpoints
+@node Breakpoints, Continuing and Stepping, Stopping, Stopping
@section Breakpoints, watchpoints, and catchpoints
@cindex breakpoints
* Error in Breakpoints:: ``Cannot insert breakpoints''
@end menu
-@node Set Breaks
+@node Set Breaks, Set Watchpoints, Breakpoints, Breakpoints
@subsection Setting breakpoints
@c FIXME LMB what does GDB do if no code on line of breakpt?
@end table
-@node Set Watchpoints
+@node Set Watchpoints, Set Catchpoints, Set Breaks, Breakpoints
@subsection Setting watchpoints
@cindex setting watchpoints
watchpoints, in contrast, watch an expression in all threads.)
@end quotation
-@node Set Catchpoints
+@node Set Catchpoints, Delete Breaks, Set Watchpoints, Breakpoints
@subsection Setting catchpoints
@cindex catchpoints, setting
@cindex exception handlers
raised.
-@node Delete Breaks
+@node Delete Breaks, Disabling, Set Catchpoints, Breakpoints
@subsection Deleting breakpoints
@cindex clearing breakpoints, watchpoints, catchpoints
confirm off}). You can abbreviate this command as @code{d}.
@end table
-@node Disabling
+@node Disabling, Conditions, Delete Breaks, Breakpoints
@subsection Disabling breakpoints
@kindex disable breakpoints
breakpoints; see @ref{Continuing and Stepping, ,Continuing and
stepping}.)
-@node Conditions
+@node Conditions, Break Commands, Disabling, Breakpoints
@subsection Break conditions
@cindex conditional breakpoints
@cindex breakpoint conditions
Ignore counts apply to breakpoints, watchpoints, and catchpoints.
-@node Break Commands
+@node Break Commands, Breakpoint Menus, Conditions, Breakpoints
@subsection Breakpoint command lists
@cindex breakpoint commands
end
@end example
-@node Breakpoint Menus
+@node Breakpoint Menus, Error in Breakpoints, Break Commands, Breakpoints
@subsection Breakpoint menus
@cindex overloading
@cindex symbol overloading
@end smallexample
@c @ifclear BARETARGET
-@node Error in Breakpoints
+@node Error in Breakpoints, , Breakpoint Menus, Breakpoints
@subsection ``Cannot insert breakpoints''
@c
@c FIXME!! 14/6/95 Is there a real example of this? Let's use it.
hardware-assisted breakpoints and watchpoints, and then continue.
-@node Continuing and Stepping
+@node Continuing and Stepping, Signals, Breakpoints, Stopping
@section Continuing and stepping
@cindex stepping
An argument is a repeat count, as in @code{next}.
@end table
-@node Signals
+@node Signals, Thread Stops, Continuing and Stepping, Stopping
@section Signals
@cindex signals
you can continue with @samp{signal 0}. @xref{Signaling, ,Giving your
program a signal}.
-@node Thread Stops
+@node Thread Stops, , Signals, Stopping
@section Stopping and starting multi-thread programs
When your program has multiple threads (@pxref{Threads,, Debugging
@end table
-@node Stack
+@node Stack, Source, Stopping, Top
@chapter Examining the Stack
When your program has stopped, the first thing you need to know is where it
@end menu
-@node Frames
+@node Frames, Backtrace, Stack, Stack
@section Stack frames
@cindex frame, definition
@code{frame}.
@end table
-@node Backtrace
+@node Backtrace, Selection, Frames, Stack
@section Backtraces
@cindex backtraces
value, indicating that your program has stopped at the beginning of the
code for line @code{993} of @code{builtin.c}.
-@node Selection
+@node Selection, Frame Info, Backtrace, Stack
@section Selecting a frame
Most commands for examining the stack and other data in your program work on
distracting.
@end table
-@node Frame Info
+@node Frame Info, , Selection, Stack
@section Information about a frame
There are several other commands to print information about the selected
@end table
-@node Source
+@node Source, Data, Stack, Top
@chapter Examining Source Files
@value{GDBN} can print parts of your program's source, since the debugging
* Machine Code:: Source and machine code
@end menu
-@node List
+@node List, Search, Source, Source
@section Printing source lines
@kindex list
@var{address} may be any expression.
@end table
-@node Search
+@node Search, Source Path, List, Source
@section Searching source files
@cindex searching
@kindex reverse-search
this command as @code{rev}.
@end table
-@node Source Path
+@node Source Path, Machine Code, Search, Source
@section Specifying source directories
@cindex source path
directories in one command.
@end enumerate
-@node Machine Code
+@node Machine Code, , Source Path, Source
@section Source and machine code
You can use the command @code{info line} to map source lines to program
@end table
-@node Data
+@node Data, Languages, Source, Top
@chapter Examining Data
@cindex printing data
* Floating Point Hardware:: Floating point hardware
@end menu
-@node Expressions
+@node Expressions, Variables, Data, Data
@section Expressions
@cindex expressions
normally supposed to reside at @var{addr}.
@end table
-@node Variables
+@node Variables, Arrays, Expressions, Data
@section Program variables
The most common kind of expression to use is the name of a variable
information.
-@node Arrays
+@node Arrays, Output Formats, Variables, Data
@section Artificial arrays
@cindex artificial array
@dots{}
@end example
-@node Output Formats
+@node Output Formats, Memory, Arrays, Data
@section Output formats
@cindex formatted output
you can use the @code{print} command with just a format and no
expression. For example, @samp{p/x} reprints the last value in hex.
-@node Memory
+@node Memory, Auto Display, Output Formats, Data
@section Examining memory
You can use the command @code{x} (for ``examine'') to examine memory in
are from the last memory unit printed; this is not the same as the last
address printed if several units were printed on the last line of output.
-@node Auto Display
+@node Auto Display, Print Settings, Memory, Data
@section Automatic display
@cindex automatic display
@cindex display of expressions
automatically. The next time your program stops where @code{last_char}
is meaningful, you can enable the display expression once again.
-@node Print Settings
+@node Print Settings, Value History, Auto Display, Data
@section Print settings
@cindex format options
Show whether C++ virtual function tables are pretty printed, or not.
@end table
-@node Value History
+@node Value History, Convenience Vars, Print Settings, Data
@section Value history
@cindex value history
Pressing @key{RET} to repeat @code{show values @var{n}} has exactly the
same effect as @samp{show values +}.
-@node Convenience Vars
+@node Convenience Vars, Registers, Value History, Data
@section Convenience variables
@cindex convenience variables
begins with a dollar sign, @value{GDBN} searches for a user or system
name first, before it searches for a convenience variable.
-@node Registers
+@node Registers, Floating Point Hardware, Convenience Vars, Data
@section Registers
@cindex registers
@value{GDBN} is unable to locate the saved registers, the selected stack
frame makes no difference.
-@node Floating Point Hardware
+@node Floating Point Hardware, , Registers, Data
@section Floating point hardware
@cindex floating point
the ARM and x86 machines.
@end table
-@node Languages
+@node Languages, Symbols, Data, Top
@chapter Using @value{GDBN} with Different Languages
@cindex languages
* Support:: Supported languages
@end menu
-@node Setting
+@node Setting, Show, Languages, Languages
@section Switching between source languages
There are two ways to control the working language---either have @value{GDBN}
* Automatically:: Having @value{GDBN} infer the source language
@end menu
-@node Filenames
+@node Filenames, Manually, Setting, Setting
@subsection List of filename extensions and languages
If a source file name ends in one of the following extensions, then
In addition, you may set the language associated with a filename
extension. @xref{Show, , Displaying the language}.
-@node Manually
+@node Manually, Automatically, Filenames, Setting
@subsection Setting the working language
If you allow @value{GDBN} to set the language automatically,
printed would be the value of @code{a}. In Modula-2, this means to compare
@code{a} to the result of @code{b+c}, yielding a @code{BOOLEAN} value.
-@node Automatically
+@node Automatically, , Manually, Setting
@subsection Having @value{GDBN} infer the source language
To have @value{GDBN} set the working language automatically, use
a different source language. Using @samp{set language auto} in this
case frees you from having to set the working language manually.
-@node Show
+@node Show, Checks, Setting, Languages
@section Displaying the language
The following commands help you find out which language is the
List all the filename extensions and the associated languages.
@end table
-@node Checks
+@node Checks, Support, Show, Languages
@section Type and range checking
@quotation
@cindex type checking
@cindex checks, type
-@node Type Checking
+@node Type Checking, Range Checking, Checks, Checks
@subsection An overview of type checking
Some languages, such as Modula-2, are strongly typed, meaning that the
@cindex range checking
@cindex checks, range
-@node Range Checking
+@node Range Checking, , Type Checking, Checks
@subsection An overview of range checking
In some languages (such as Modula-2), it is an error to exceed the
being set automatically by @value{GDBN}.
@end table
-@node Support
+@node Support, , Checks, Languages
@section Supported languages
@value{GDBN} supports C, C++, Fortran, Java, Chill, assembly, and Modula-2.
* Chill:: Chill
@end menu
-@node C
+@node C, Modula-2, Support, Support
@subsection C and C++
@cindex C and C++
* Debugging C plus plus:: @value{GDBN} features for C++
@end menu
-@node C Operators
+@node C Operators, C Constants, C, C
@subsubsection C and C++ operators
@cindex C and C++ operators
* C Constants::
@end menu
-@node C Constants
+@node C Constants, C plus plus expressions, C Operators, C
@subsubsection C and C++ constants
@cindex C and C++ constants
* Debugging C::
@end menu
-@node C plus plus expressions
+@node C plus plus expressions, C Defaults, C Constants, C
@subsubsection C++ expressions
@cindex expressions in C++
objects, calling functions in a base subobject, casting objects, and
invoking user-defined operators.
-@node C Defaults
+@node C Defaults, C Checks, C plus plus expressions, C
@subsubsection C and C++ defaults
@cindex C and C++ defaults
@c unimplemented. If (b) changes, it might make sense to let this node
@c appear even if Mod-2 does not, but meanwhile ignore it. roland 16jul93.
-@node C Checks
+@node C Checks, Debugging C, C Defaults, C
@subsubsection C and C++ type and range checks
@cindex C and C++ checks
indices are not checked, since they are often used to index a pointer
that is not itself an array.
-@node Debugging C
+@node Debugging C, Debugging C plus plus, C Checks, C
@subsubsection @value{GDBN} and C
The @code{set print union} and @code{show print union} commands apply to
* Debugging C plus plus::
@end menu
-@node Debugging C plus plus
+@node Debugging C plus plus, , Debugging C, C
@subsubsection @value{GDBN} features for C++
@cindex commands for C++
@xref{Completion,, Command completion}, for details on how to do this.
@end table
-@node Modula-2
+@node Modula-2, Chill, C, Support
@subsection Modula-2
@cindex Modula-2, @value{GDBN} support
* GDB/M2:: @value{GDBN} and Modula-2
@end menu
-@node M2 Operators
+@node M2 Operators, Built-In Func/Proc, Modula-2, Modula-2
@subsubsection Operators
@cindex Modula-2 operators
@end quotation
@cindex Modula-2 built-ins
-@node Built-In Func/Proc
+@node Built-In Func/Proc, M2 Constants, M2 Operators, Modula-2
@subsubsection Built-in functions and procedures
Modula-2 also makes available several built-in procedures and functions.
@end quotation
@cindex Modula-2 constants
-@node M2 Constants
+@node M2 Constants, M2 Defaults, Built-In Func/Proc, Modula-2
@subsubsection Constants
@value{GDBN} allows you to express the constants of Modula-2 in the following
Set constants are not yet supported.
@end itemize
-@node M2 Defaults
+@node M2 Defaults, Deviations, M2 Constants, Modula-2
@subsubsection Modula-2 defaults
@cindex Modula-2 defaults
working language to Modula-2. @xref{Automatically, ,Having @value{GDBN} set
the language automatically}, for further details.
-@node Deviations
+@node Deviations, M2 Checks, M2 Defaults, Modula-2
@subsubsection Deviations from standard Modula-2
@cindex Modula-2, deviations from
All built-in procedures both modify @emph{and} return their argument.
@end itemize
-@node M2 Checks
+@node M2 Checks, M2 Scope, Deviations, Modula-2
@subsubsection Modula-2 type and range checks
@cindex Modula-2 checks
Range checking is done on all mathematical operations, assignment, array
index bounds, and all built-in functions and procedures.
-@node M2 Scope
+@node M2 Scope, GDB/M2, M2 Checks, Modula-2
@subsubsection The scope operators @code{::} and @code{.}
@cindex scope
@kindex .
module @var{module}, or if @var{id} is not an identifier in
@var{module}.
-@node GDB/M2
+@node GDB/M2, , M2 Scope, Modula-2
@subsubsection @value{GDBN} and Modula-2
Some @value{GDBN} commands have little use when debugging Modula-2 programs.
In @value{GDBN} scripts, the Modula-2 inequality operator @code{#} is
interpreted as the beginning of a comment. Use @code{<>} instead.
-@node Chill
+@node Chill, , Modula-2, Support
@subsection Chill
The extensions made to @value{GDBN} to support Chill only support output
* Chill defaults::
@end menu
-@node How modes are displayed
+@node How modes are displayed, Locations, Chill, Chill
@subsubsection How modes are displayed
The Chill Datatype- (Mode) support of @value{GDBN} is directly related
@end smallexample
@end table
-@node Locations
+@node Locations, Values and their Operations, How modes are displayed, Chill
@subsubsection Locations and their accesses
A location in Chill is an object which can contain values.
(@value{GDBP}) print int (s(3 up 4)) XXX TO be filled in !! XXX
@end smallexample
-@node Values and their Operations
+@node Values and their Operations, Chill type and range checks, Locations, Chill
@subsubsection Values and their Operations
Values are used to alter locations, to investigate complex structures in
@end table
@end table
-@node Chill type and range checks
+@node Chill type and range checks, Chill defaults, Values and their Operations, Chill
@subsubsection Chill type and range checks
@value{GDBN} considers two Chill variables mode equivalent if the sizes
see last paragraph ?
@end ignore
-@node Chill defaults
+@node Chill defaults, , Chill type and range checks, Chill
@subsubsection Chill defaults
If type and range checking are set automatically by @value{GDBN}, they
working language to Chill. @xref{Automatically, ,Having @value{GDBN} set
the language automatically}, for further details.
-@node Symbols
+@node Symbols, Altering, Languages, Top
@chapter Examining the Symbol Table
The commands described in this chapter allow you to inquire about the
@value{GDBN} reads symbols (in the description of @code{symbol-file}).
@end table
-@node Altering
+@node Altering, GDB Files, Symbols, Top
@chapter Altering Execution
Once you think you have found an error in your program, you might want to
* Patching:: Patching your program
@end menu
-@node Assignment
+@node Assignment, Jumping, Altering, Altering
@section Assignment to variables
@cindex assignment
@noindent
stores the value 4 into that memory location.
-@node Jumping
+@node Jumping, Signaling, Assignment, Altering
@section Continuing at a different address
Ordinarily, when you continue your program, you do so at the place where
detail.
@c @group
-@node Signaling
+@node Signaling, Returning, Jumping, Altering
@section Giving your program a signal
@table @code
passes the signal directly to your program.
-@node Returning
+@node Returning, Calling, Signaling, Altering
@section Returning from a function
@table @code
and Stepping, ,Continuing and stepping}) resumes execution until the
selected stack frame returns naturally.
-@node Calling
+@node Calling, Patching, Returning, Altering
@section Calling program functions
@cindex calling functions
method of putting the scratch area on the stack does not work in systems
that have separate instruction and data spaces.
-@node Patching
+@node Patching, , Calling, Altering
@section Patching programs
@cindex patching binaries
as well as reading.
@end table
-@node GDB Files
+@node GDB Files, Targets, Altering, Top
@chapter @value{GDBN} Files
@value{GDBN} needs to know the file name of the program to be debugged,
* Symbol Errors:: Errors reading symbol files
@end menu
-@node Files
+@node Files, Symbol Errors, GDB Files, GDB Files
@section Commands to specify files
@cindex symbol table
Display the current autoloading size threshold, in megabytes.
@end table
-@node Symbol Errors
+@node Symbol Errors, , Files, GDB Files
@section Errors reading symbol files
While reading a symbol file, @value{GDBN} occasionally encounters problems,
@end table
-@node Targets
+@node Targets, Configurations, GDB Files, Top
@chapter Specifying a Debugging Target
@cindex debugging target
@end menu
-@node Active Targets
+@node Active Targets, Target Commands, Targets, Targets
@section Active targets
@cindex stacking targets
the @code{attach} command (@pxref{Attach, ,Debugging an already-running
process}).
-@node Target Commands
+@node Target Commands, Byte Order, Active Targets, Targets
@section Commands for managing targets
@table @code
@code{load} does not repeat if you press @key{RET} again after using it.
@end table
-@node Byte Order
+@node Byte Order, Remote, Target Commands, Targets
@section Choosing target byte order
@cindex choosing target byte order
data on the host, and that they have absolutely no effect on the
target system.
-@node Remote
+@node Remote, KOD, Byte Order, Targets
@section Remote debugging
@cindex remote debugging
* Remote Serial:: @value{GDBN} remote serial protocol
@end menu
-@node Remote Serial
+@node Remote Serial, , Remote, Remote
@subsection The @value{GDBN} remote serial protocol
@cindex remote serial debugging, overview
* NetWare:: Using the `gdbserve.nlm' program
@end menu
-@node Stub Contents
+@node Stub Contents, Bootstrapping, Remote Serial, Remote Serial
@subsubsection What the stub can do for you
@cindex remote serial stub
start of your debugging session.
@end table
-@node Bootstrapping
+@node Bootstrapping, Debug Session, Stub Contents, Remote Serial
@subsubsection What you must do for the stub
@cindex remote stub, support routines
subroutines which @code{@value{GCC}} generates as inline code.
-@node Debug Session
+@node Debug Session, Protocol, Bootstrapping, Remote Serial
@subsubsection Putting it all together
@cindex remote serial debugging summary
remote} again to connect once more.) If you type @kbd{n}, @value{GDBN}
goes back to waiting.
-@node Protocol
+@node Protocol, Server, Debug Session, Remote Serial
@subsubsection Communication protocol
@cindex debugging stub, example
stream. @code{set remotedebug off} turns it off, and @code{show
remotedebug} shows you its current state.
-@node Server
+@node Server, NetWare, Protocol, Remote Serial
@subsubsection Using the @code{gdbserver} program
@kindex gdbserver
@samp{Connection refused}.
@end table
-@node NetWare
+@node NetWare, , Server, Remote Serial
@subsubsection Using the @code{gdbserve.nlm} program
@kindex gdbserve.nlm
communications with the server via serial line @file{/dev/ttyb}.
@end table
-@node KOD
+@node KOD, , Remote, Targets
@section Kernel Object Display
@cindex kernel object display
is supported other than to try it.
-@node Configurations
+@node Configurations, Controlling GDB, Targets, Top
@chapter Configuration-Specific Information
While nearly all @value{GDBN} commands are available for all native and
* Architectures::
@end menu
-@node Native
+@node Native, Embedded OS, Configurations, Configurations
@section Native
This section describes details specific to particular native
* SVR4 Process Information:: SVR4 process information
@end menu
-@node HP-UX
+@node HP-UX, SVR4 Process Information, Native, Native
@subsection HP-UX
On HP-UX systems, if you refer to a function or variable name that
begins with a dollar sign, @value{GDBN} searches for a user or system
name first, before it searches for a convenience variable.
-@node SVR4 Process Information
+@node SVR4 Process Information, , HP-UX, Native
@subsection SVR4 process information
@kindex /proc
Show all the above information about the process.
@end table
-@node Embedded OS
+@node Embedded OS, Embedded Processors, Native, Configurations
@section Embedded Operating Systems
This section describes configurations involving the debugging of
@value{GDBN} includes the ability to debug programs running on
various real-time operating systems.
-@node VxWorks
+@node VxWorks, , Embedded OS, Embedded OS
@subsection Using @value{GDBN} with VxWorks
@cindex VxWorks
* VxWorks Attach:: Running tasks
@end menu
-@node VxWorks Connection
+@node VxWorks Connection, VxWorks Download, VxWorks, VxWorks
@subsubsection Connecting to VxWorks
The @value{GDBN} command @code{target} lets you connect to a VxWorks target on the
the @value{GDBN} command @code{path}, and execute the @code{target}
command again.
-@node VxWorks Download
+@node VxWorks Download, VxWorks Attach, VxWorks Connection, VxWorks
@subsubsection VxWorks download
@cindex download to VxWorks
debugger's data structures that reference the target system's symbol
table.)
-@node VxWorks Attach
+@node VxWorks Attach, , VxWorks Download, VxWorks
@subsubsection Running tasks
@cindex running VxWorks tasks
or suspended when you attach to it. Running tasks are suspended at
the time of attachment.
-@node Embedded Processors
+@node Embedded Processors, Architectures, Embedded OS, Configurations
@section Embedded Processors
This section goes into details specific to particular embedded
* Z8000:: Zilog Z8000
@end menu
-@node A29K Embedded
+@node A29K Embedded, ARM, Embedded Processors, Embedded Processors
@subsection AMD A29K Embedded
@menu
@end table
-@node A29K UDI
+@node A29K UDI, A29K EB29K, A29K Embedded, A29K Embedded
@subsubsection A29K UDI
@cindex UDI
to its pathname.
@end table
-@node A29K EB29K
+@node A29K EB29K, Comms (EB29K), A29K UDI, A29K Embedded
@subsubsection EBMON protocol for AMD29K
@cindex EB29K board
assume you've hooked the cable between the PC's @file{COM1} port and
@file{/dev/ttya} on the Unix system.
-@node Comms (EB29K)
+@node Comms (EB29K), gdb-EB29K, A29K EB29K, A29K Embedded
@subsubsection Communications setup
The next step is to set up the PC's port, by doing something like this
from the Unix system to the PC; @value{GDBN} does @emph{not} download it over the
serial line.
-@node gdb-EB29K
+@node gdb-EB29K, Remote Log, Comms (EB29K), A29K Embedded
@subsubsection EB29K cross-debugging
Finally, @code{cd} to the directory containing an image of your 29K
Type @kbd{CTTY con} to return command input to the main DOS console,
and type @kbd{~.} to leave @code{tip} or @code{cu}.
-@node Remote Log
+@node Remote Log, , gdb-EB29K, A29K Embedded
@subsubsection Remote log
@kindex eb.log
@cindex log file for EB29K
another window often helps to understand trouble with @code{EBMON}, or
unexpected events on the PC side of the connection.
-@node ARM
+@node ARM, H8/300, A29K Embedded, Embedded Processors
@subsection ARM
@table @code
@end table
-@node H8/300
+@node H8/300, H8/500, ARM, Embedded Processors
@subsection Hitachi H8/300
@table @code
* Hitachi Special:: Special @value{GDBN} commands for Hitachi micros.
@end menu
-@node Hitachi Boards
+@node Hitachi Boards, Hitachi ICE, H8/300, H8/300
@subsubsection Connecting to Hitachi boards
@c only for Unix hosts
In either case, @value{GDBN} sees the effect of a @sc{reset} on the
development board as a ``normal exit'' of your program.
-@node Hitachi ICE
+@node Hitachi ICE, Hitachi Special, Hitachi Boards, H8/300
@subsubsection Using the E7000 in-circuit emulator
@kindex target e7000@r{, with Hitachi ICE}
specify its hostname; @value{GDBN} uses @code{telnet} to connect.
@end table
-@node Hitachi Special
+@node Hitachi Special, , Hitachi ICE, H8/300
@subsubsection Special @value{GDBN} commands for Hitachi micros
Some @value{GDBN} commands are available only for the H8/300:
@end table
-@node H8/500
+@node H8/500, i960, H8/300, Embedded Processors
@subsection H8/500
@table @code
@end table
-@node i960
+@node i960, M32R/D, H8/500, Embedded Processors
@subsection Intel i960
@table @code
* Nindy Reset:: Nindy reset command
@end menu
-@node Nindy Startup
+@node Nindy Startup, Nindy Options, i960, i960
@subsubsection Startup with Nindy
If you simply start @code{@value{GDBP}} without using any command-line
with an empty line. If you do this and later wish to attach to Nindy,
use @code{target} (@pxref{Target Commands, ,Commands for managing targets}).
-@node Nindy Options
+@node Nindy Options, Nindy Reset, Nindy Startup, i960
@subsubsection Options for Nindy
These are the startup options for beginning your @value{GDBN} session with a
port.
@c @group
-@node Nindy Reset
+@node Nindy Reset, , Nindy Options, i960
@subsubsection Nindy reset command
@table @code
@end table
@c @end group
-@node M32R/D
+@node M32R/D, M68K, i960, Embedded Processors
@subsection Mitsubishi M32R/D
@table @code
@end table
-@node M68K
+@node M68K, M88K, M32R/D, Embedded Processors
@subsection M68k
The Motorola m68k configuration includes ColdFire support, and
@end table
-@node M88K
+@node M88K, MIPS Embedded, M68K, Embedded Processors
@subsection M88K
@table @code
@end table
-@node MIPS Embedded
+@node MIPS Embedded, PowerPC, M88K, Embedded Processors
@subsection MIPS Embedded
@cindex MIPS boards
to run before stopping.
@end table
-@node PowerPC
+@node PowerPC, PA, MIPS Embedded, Embedded Processors
@subsection PowerPC
@table @code
@end table
-@node PA
+@node PA, SH, PowerPC, Embedded Processors
@subsection HP PA Embedded
@table @code
@end table
-@node SH
+@node SH, Sparclet, PA, Embedded Processors
@subsection Hitachi SH
@table @code
@end table
-@node Sparclet
+@node Sparclet, Sparclite, SH, Embedded Processors
@subsection Tsqware Sparclet
@cindex Sparclet
* Sparclet Execution:: Running and debugging
@end menu
-@node Sparclet File
+@node Sparclet File, Sparclet Connection, Sparclet, Sparclet
@subsubsection Setting file to debug
The @value{GDBN} command @code{file} lets you choose with program to debug.
the @value{GDBN} commands @code{path} and @code{dir}, and execute the
@code{target} command again.
-@node Sparclet Connection
+@node Sparclet Connection, Sparclet Download, Sparclet File, Sparclet
@subsubsection Connecting to Sparclet
The @value{GDBN} command @code{target} lets you connect to a Sparclet target.
Connected to ttya.
@end example
-@node Sparclet Download
+@node Sparclet Download, Sparclet Execution, Sparclet Connection, Sparclet
@subsubsection Sparclet download
@cindex download to Sparclet
to, you may need to use the @code{section} and @code{add-symbol-file} commands
to tell @value{GDBN} where to map the symbol table.
-@node Sparclet Execution
+@node Sparclet Execution, , Sparclet Download, Sparclet
@subsubsection Running and debugging
@cindex running and debugging Sparclet programs
(gdbslet)
@end example
-@node Sparclite
+@node Sparclite, ST2000, Sparclet, Embedded Processors
@subsection Fujitsu Sparclite
@table @code
@end table
-@node ST2000
+@node ST2000, Z8000, Sparclite, Embedded Processors
@subsection Tandem ST2000
@value{GDBN} may be used with a Tandem ST2000 phone switch, running Tandem's
@kbd{@key{RET}~@key{C-d}} (Return, followed by tilde and control-D).
@end table
-@node Z8000
+@node Z8000, , ST2000, Embedded Processors
@subsection Zilog Z8000
@cindex Z8000
conditional breakpoint that suspends only after at least 5000
simulated clock ticks.
-@node Architectures
+@node Architectures, , Embedded Processors, Configurations
@section Architectures
This section describes characteristics of architectures that affect
* MIPS::
@end menu
-@node A29K
+@node A29K, Alpha, Architectures, Architectures
@subsection A29K
@table @code
@end table
-@node Alpha
+@node Alpha, MIPS, A29K, Architectures
@subsection Alpha
See the following section.
-@node MIPS
+@node MIPS, , Alpha, Architectures
@subsection MIPS
@cindex stack on Alpha
for debugging programs on Alpha or MIPS processors.
-@node Controlling GDB
+@node Controlling GDB, Sequences, Configurations, Top
@chapter Controlling @value{GDBN}
You can alter the way @value{GDBN} interacts with you by using the
* Messages/Warnings:: Optional warnings and messages
@end menu
-@node Prompt
+@node Prompt, Editing, Controlling GDB, Controlling GDB
@section Prompt
@cindex prompt
Prints a line of the form: @samp{Gdb's prompt is: @var{your-prompt}}
@end table
-@node Editing
+@node Editing, History, Prompt, Controlling GDB
@section Command editing
@cindex readline
@cindex command line editing
Show whether command line editing is enabled.
@end table
-@node History
+@node History, Screen Size, Editing, Controlling GDB
@section Command history
@value{GDBN} can keep track of the commands you type during your
Print ten commands just after the commands last printed.
@end table
-@node Screen Size
+@node Screen Size, Numbers, History, Controlling GDB
@section Screen size
@cindex size of screen
@cindex pauses in output
from wrapping its output.
@end table
-@node Numbers
+@node Numbers, Messages/Warnings, Screen Size, Controlling GDB
@section Numbers
@cindex number representation
@cindex entering numbers
Display the current default base for numeric display.
@end table
-@node Messages/Warnings
+@node Messages/Warnings, , Numbers, Controlling GDB
@section Optional warnings and messages
By default, @value{GDBN} is silent about its inner workings. If you are
@end table
-@node Sequences
+@node Sequences, Emacs, Controlling GDB, Top
@chapter Canned Sequences of Commands
Aside from breakpoint commands (@pxref{Break Commands, ,Breakpoint
* Output:: Commands for controlled output
@end menu
-@node Define
+@node Define, Hooks, Sequences, Sequences
@section User-defined commands
@cindex user-defined command
commands that normally print messages to say what they are doing omit the
messages when used in a user-defined command.
-@node Hooks
+@node Hooks, Command Files, Define, Sequences
@section User-defined command hooks
@cindex command hooks
@cindex hooks, for commands
If you try to define a hook which does not match any known command, you
get a warning from the @code{define} command.
-@node Command Files
+@node Command Files, Output, Hooks, Sequences
@section Command files
@cindex command files
normally print messages to say what they are doing omit the messages
when called from command files.
-@node Output
+@node Output, , Command Files, Sequences
@section Commands for controlled output
During the execution of a command file or a user-defined command, normal
letter.
@end table
-@node Emacs
+@node Emacs, Annotations, Sequences, Top
@chapter Using @value{GDBN} under @sc{gnu} Emacs
@cindex Emacs
each value is printed in its own window.
@end ignore
+@node Annotations, GDB Bugs, Emacs, Top
+@chapter @value{GDBN} Annotations
@include annotate.texi
-@node GDB Bugs
+@node GDB Bugs, Command Line Editing, Annotations, Top
@chapter Reporting Bugs in @value{GDBN}
@cindex bugs in @value{GDBN}
@cindex reporting bugs in @value{GDBN}
* Bug Reporting:: How to report bugs
@end menu
-@node Bug Criteria
+@node Bug Criteria, Bug Reporting, GDB Bugs, GDB Bugs
@section Have you found a bug?
@cindex bug criteria
for improvement of @value{GDBN} are welcome in any case.
@end itemize
-@node Bug Reporting
+@node Bug Reporting, , Bug Criteria, GDB Bugs
@section How to report bugs
@cindex bug reports
@cindex @value{GDBN} bugs, reporting
@c inc-hist.texinfo
@c Use -I with makeinfo to point to the appropriate directory,
@c environment var TEXINPUTS with TeX.
+
+@node Command Line Editing, Using History Interactively, GDB Bugs, Top
+@chapter Command Line Editing
@include rluser.texinfo
+
+
+@node Using History Interactively, Formatting Documentation, Command Line Editing, Top
+@chapter Using History Interactively
@include inc-hist.texinfo
-@node Formatting Documentation
+@node Formatting Documentation, Installing GDB, Using History Interactively, Top
@appendix Formatting Documentation
@cindex @value{GDBN} reference card
Then give @file{gdb.dvi} to your @sc{dvi} printing program.
-@node Installing GDB
+@node Installing GDB, Index, Formatting Documentation, Top
@appendix Installing @value{GDBN}
@cindex configuring @value{GDBN}
@cindex installation
* Configure Options:: Summary of options for configure
@end menu
-@node Separate Objdir
+@node Separate Objdir, Config Names, Installing GDB, Installing GDB
@section Compiling @value{GDBN} in another directory
If you want to run @value{GDBN} versions for several host or target machines,
if they are NFS-mounted on each of the hosts); they will not interfere
with each other.
-@node Config Names
+@node Config Names, Configure Options, Separate Objdir, Installing GDB
@section Specifying names for hosts and targets
The specifications used for hosts and targets in the @code{configure}
@code{config.sub} is also distributed in the @value{GDBN} source
directory (@file{gdb-@value{GDBVN}}, for version @value{GDBVN}).
-@node Configure Options
+@node Configure Options, , Config Names, Installing GDB
@section @code{configure} options
Here is a summary of the @code{configure} options and arguments that
There are many other options available as well, but they are generally
needed for special purposes only.
-@node Index
+@node Index, , Installing GDB, Top
@unnumbered Index
@printindex cp