aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/doc/gdb.texinfo415
1 files changed, 305 insertions, 110 deletions
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 944bc44..fe2f50a 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -116,7 +116,38 @@ original English.
@end titlepage
@page
-@node Top, New Features, (dir), (dir)
+@node Top, Summary, (dir), (dir)
+@ifinfo
+This file describes version 4.0 of GDB, the GNU symbolic debugger.
+@end ifinfo
+
+@menu
+* Summary:: Summary of _GDBN__
+* New Features:: New Features in _GDBN__ version 4.0
+* Sample Session:: A Sample _GDBN__ Session
+* Invocation:: Getting In and Out of _GDBN__
+* Commands:: _GDBN__ Commands
+* Running:: Running Programs Under _GDBN__
+* Stopping:: Stopping and Continuing
+* Stack:: Examining the Stack
+* Source:: Examining Source Files
+* Data:: Examining Data
+* Symbols:: Examining the Symbol Table
+* Altering:: Altering Execution
+* _GDBN__ Files:: _GDBN__'s Files
+* Targets:: Specifying a Debugging Target
+* Controlling _GDBN__:: Controlling _GDBN__
+* Sequences:: Canned Sequences of Commands
+* Emacs:: Using _GDBN__ under GNU Emacs
+* _GDBN__ Bugs:: Reporting Bugs in _GDBN__
+* Renamed Commands:: _GDBN__ 4.0 Renamed Commands
+* Installing _GDBN__:: Installing _GDBN__
+* Copying:: GNU GENERAL PUBLIC LICENSE
+* Index:: Index
+
+@end menu
+
+@node Summary, New Features, Top, Top
@unnumbered Summary of _GDBN__
The purpose of a debugger such as _GDBN__ is to allow you to see what is
@@ -145,6 +176,12 @@ _GDBN__ can be used to debug programs written in C and C++. Pascal support
is being implemented, and Fortran support will be added when a GNU
Fortran compiler is ready.
+@menu
+* Free Software:: Free Software
+* Contributors:: Contributors to GDB
+@end menu
+
+@node Free Software, Contributors, Summary, Summary
@unnumberedsec Free Software
_GDBN__ is @dfn{free software}, protected by the GNU General Public License (GPL).
The GPL gives you the freedom to copy or adapt a licensed
@@ -159,31 +196,74 @@ you have these freedoms and that you can't take these freedoms away
from anyone else.
For full details, @pxref{Copying}.
+@node Contributors, , Free Software, Summary
+@unnumberedsec Contributors to GDB
-@menu
-* New Features:: New Features in _GDBN__ version 4.0
-* Sample Session:: A Sample _GDBN__ Session
-* Invocation:: Getting In and Out of _GDBN__
-* Commands:: _GDBN__ Commands
-* Running:: Running Programs Under _GDBN__
-* Stopping:: Stopping and Continuing
-* Stack:: Examining the Stack
-* Source:: Examining Source Files
-* Data:: Examining Data
-* Symbols:: Examining the Symbol Table
-* Altering:: Altering Execution
-* GDB Files:: _GDBN__'s Files
-* Targets:: Specifying a Debugging Target
-* Controlling _GDBN__:: Controlling _GDBN__
-* Sequences:: Canned Sequences of Commands
-* Emacs:: Using _GDBN__ under GNU Emacs
-* _GDBN__ Bugs:: Reporting Bugs in _GDBN__
-* Installing _GDBN__:: Installing _GDBN__
-* Copying:: GNU GENERAL PUBLIC LICENSE
-* Index:: Index
-@end menu
+Richard Stallman was the original author of GDB, as with many GNU
+programs. Many others have contributed to its development. This
+section attempts to credit major contributors. One of the virtues of
+free software is that everyone is free to contribute to it; with
+regret, we cannot actually acknowledge everyone here. The file
+@file{ChangeLog} in the GDB distribution approximates a blow-by-blow
+account.
+
+Changes much prior to version 2.0 are lost in the mists of time.
+
+@quotation
+@emph{Plea:} Additions to this section are particularly welcome. If you
+or your friends (or enemies; let's be evenhanded) have been unfairly
+omitted from this list, we would like to add your names!
+@end quotation
-@node New Features, Sample Session, Top, Top
+So that they may not regard their long labor as thankless, we
+particularly thank those who shepherded GDB through major releases:
+John Gilmore (release 4.0); Jim Kingdon (releases 3.9, 3.5, 3.4, 3.3);
+and Randy Smith (releases 3.2, 3.1, 3.0). As major maintainer of GDB
+for some period, each contributed significantly to the structure,
+stability, and capabilities of the entire debugger.
+
+Richard Stallman, assisted at various times by Pete TerMaat, Chris
+Hanson, and Richard Mlynarik, handled releases through 2.8.
+
+Michael Tiemann is the author of most of the GNU C++ support in GDB,
+with significant additional contributions from Per Bothner. James
+Clark wrote the GNU C++ demangler. Early work on C++ was by Peter
+TerMaat (who also did much general update work leading to release 3.0).
+
+GDB 4.0 uses the BFD subroutine library to examine multiple
+object-file formats; BFD was a joint project of V. Gumby
+Henkel-Wallace, Rich Pixley, Steve Chamberlain, and John Gilmore.
+
+David Johnson wrote the original COFF support; Pace Willison did
+the original support for encapsulated COFF.
+
+Adam de Boor and Bradley Davis contributed the ISI Optimum V support.
+Per Bothner, Noboyuki Hikichi, and Alessandro Forin contributed MIPS
+support. Jean-Daniel Fekete contributed Sun 386i support. Chris
+Hanson improved the HP9000 support. Noboyuki Hikichi and Tomoyuki
+Hasei contributed Sony/News OS 3 support. David Johnson contributed
+Encore Umax support. Jyrki Kuoppala contributed Altos 3068 support.
+Keith Packard contributed NS32K support. Doug Rabson contributed
+Acorn Risc Machine support. Chris Smith contributed Convex support
+(and Fortran debugging). Jonathan Stone contributed Pyramid support.
+Michael Tiemann contributed SPARC support. Tim Tucker contributed
+support for the Gould NP1 and Gould Powernode. Pace Willison
+contributed Intel 386 support. Jay Vosburgh contributed Symmetry
+support.
+
+Rich Schaefer helped with support of SunOS shared libraries.
+
+Jay Fenlason and Roland McGrath ensured that GDB and GAS agree about
+several machine instruction sets.
+
+Patrick Duval, Ted Goldstein, Vikram Koka and Glenn Engel helped
+develop remote debugging. Intel Corporation and Wind River Systems
+contributed remote debugging modules for their products.
+
+Brian Fox is the author of the readline libraries providing
+command-line editing and command history.
+
+@node New Features, Sample Session, Summary, Top
@unnumbered New Features in _GDBN__ version 4.0
@table @emph
@@ -232,6 +312,13 @@ before the stack is peeled back to the exception handler's context. You
can suppress output of machine-level addresses, displaying only source
language information.
+@item Command Rationalization
+Many _GDBN__ commands have been renamed to make them easier to remember
+and use. In particular, the subcommands of @code{info} and
+@code{show}/@code{set} are grouped to make the former refer to the state
+of your program, and the latter refer to the state of _GDBN__ itself.
+@xref{Renamed Commands}, for details on what commands were renamed.
+
@item Ports
_GDBN__ has been ported to the following new architectures: AT&T 3b1,
Acorn RISC machine, HP300 running HPUX, big- and little-endian MIPS
@@ -512,9 +599,9 @@ _1__@end smallexample
@chapter Getting In and Out of _GDBN__
@menu
-* Starting _GDBN__:: Starting _GDBN__
-* Leaving _GDBN__:: Leaving _GDBN__
-* Shell Commands:: Shell Commands
+* Starting _GDBN__:: Starting _GDBN__
+* Leaving _GDBN__:: Leaving _GDBN__
+* Shell Commands:: Shell Commands
@end menu
@node Starting _GDBN__, Leaving _GDBN__, Invocation, Invocation
@@ -550,11 +637,11 @@ in sequential order. The order makes a difference when the
@samp{-x} option is used.
@menu
-* File Options:: Choosing Files
-* Mode Options:: Choosing Modes
-* i960-Nindy Remote:: _GDBN__ with a Remote i960 (Nindy)
-* EB29K Remote:: _GDBN__ with a Remote EB29K
-* VxWorks Remote:: _GDBN__ and VxWorks
+* File Options:: Choosing Files
+* Mode Options:: Choosing Modes
+* i960-Nindy Remote::
+* EB29K Remote::
+* VxWorks Remote::
@end menu
@node File Options, Mode Options, Starting _GDBN__, Starting _GDBN__
@@ -670,9 +757,9 @@ By using the @code{target} command at any point during your _GDBN__ session.
@end itemize
@menu
-* Nindy Startup:: Startup with Nindy
-* Nindy Options:: Options for Nindy
-* Nindy reset:: Nindy Reset Command
+* Nindy Startup:: Startup with Nindy
+* Nindy Options:: Options for Nindy
+* Nindy reset:: Nindy Reset Command
@end menu
@node Nindy Startup, Nindy Options, i960-Nindy Remote, i960-Nindy Remote
@@ -761,9 +848,9 @@ you've hooked the cable between the PC's @file{COM1} port and
@file{/dev/ttya} on the Unix system.
@menu
-* Comms (EB29K):: Communications Setup
-* _GDBP__-EB29K:: EB29K cross-debugging
-* Remote Log:: Remote Log
+* Comms (EB29K):: Communications Setup
+* _GDBP__-EB29K:: EB29K cross-debugging
+* Remote Log:: Remote Log
@end menu
@node Comms (EB29K), _GDBP__-EB29K, EB29K Remote, EB29K Remote
@@ -956,9 +1043,9 @@ _GDBN__ will come up showing the prompt:
@end smallexample
@menu
-* VxWorks connection:: Connecting to VxWorks
-* VxWorks download:: VxWorks Download
-* VxWorks attach:: Running Tasks
+* VxWorks connection:: Connecting to VxWorks
+* VxWorks download:: VxWorks Download
+* VxWorks attach:: Running Tasks
@end menu
@node VxWorks connection, VxWorks download, VxWorks Remote, VxWorks Remote
@@ -1099,8 +1186,8 @@ arguments. This is equivalent to @samp{shell make @var{make-args}}.
@chapter _GDBN__ Commands
@menu
-* Command Syntax:: Command Syntax
-* Help:: Getting Help
+* Command Syntax:: Command Syntax
+* Help:: Getting Help
@end menu
@node Command Syntax, Help, Commands, Commands
@@ -1255,14 +1342,14 @@ Display the GNU ``NO WARRANTY'' statement.
@chapter Running Programs Under _GDBN__
@menu
-* Compilation:: Compiling for Debugging
-* Starting:: Starting your Program
-* Arguments:: Your Program's Arguments
-* Environment:: Your Program's Environment
-* Working Directory:: Your Program's Working Directory
-* Input/Output:: Your Program's Input and Output
-* Attach:: Debugging an Already-Running Process
-* Kill Process:: Killing the Child Process
+* Compilation:: Compiling for Debugging
+* Starting:: Starting your Program
+* Arguments:: Your Program's Arguments
+* Environment:: Your Program's Environment
+* Working Directory:: Your Program's Working Directory
+* Input/Output:: Your Program's Input and Output
+* Attach:: Debugging an Already-Running Process
+* Kill Process:: Killing the Child Process
@end menu
@node Compilation, Starting, Running, Running
@@ -1653,10 +1740,10 @@ running or not, what process it is, and why it stopped.
@end table
@menu
-* Breakpoints:: Breakpoints
-* Stepping:: Stepping
-* Continuing:: Continuing
-* Signals:: Signals
+* Breakpoints:: Breakpoints
+* Stepping:: Stepping
+* Continuing:: Continuing
+* Signals:: Signals
@end menu
@node Breakpoints, Stepping, Stopping, Stopping
@@ -1677,14 +1764,14 @@ breakpoint you want to change. Each breakpoint may be @dfn{enabled} or
enable it again.
@menu
-* Set Breaks:: Setting Breakpoints
-* Set Watchpoints:: Setting Watchpoints
-* Exception Handling:: Breakpoints and Exceptions
-* Delete Breaks:: Deleting Breakpoints
-* Disabling:: Disabling Breakpoints
-* Conditions:: Break Conditions
-* Break Commands:: Breakpoint Command Lists
-* Error in Breakpoints:: ``Cannot Insert Breakpoints''
+* Set Breaks:: Setting Breakpoints
+* Set Watchpoints:: Setting Watchpoints
+* Exception Handling:: Breakpoints and Exceptions
+* Delete Breaks:: Deleting Breakpoints
+* Disabling:: Disabling Breakpoints
+* Conditions:: Break Conditions
+* Break Commands:: Breakpoint Command Lists
+* Error in Breakpoints::
@end menu
@node Set Breaks, Set Watchpoints, Breakpoints, Breakpoints
@@ -2489,10 +2576,10 @@ frame and describes it briefly as the @code{frame} command does
(@pxref{Frame Info, Info}).
@menu
-* Frames:: Stack Frames
-* Backtrace:: Backtraces
-* Selection:: Selecting a Frame
-* Frame Info:: Information on a Frame
+* Frames:: Stack Frames
+* Backtrace:: Backtraces
+* Selection:: Selecting a Frame
+* Frame Info:: Information on a Frame
@end menu
@node Frames, Backtrace, Stack, Stack
@@ -2739,10 +2826,10 @@ If you use _GDBN__ through its GNU Emacs interface, you may prefer to
use Emacs facilities to view source; @pxref{Emacs}.
@menu
-* List:: Printing Source Lines
-* Search:: Searching Source Files
-* Source Path:: Specifying Source Directories
-* Machine Code:: Source and Machine Code
+* List:: Printing Source Lines
+* Search:: Searching Source Files
+* Source Path:: Specifying Source Directories
+* Machine Code:: Source and Machine Code
@end menu
@node List, Search, Source, Source
@@ -3001,17 +3088,17 @@ It examines data in memory at a specified address and prints it in a
specified format. @xref{Memory}.
@menu
-* Expressions:: Expressions
-* Variables:: Program Variables
-* Arrays:: Artificial Arrays
-* Output formats:: Output formats
-* Memory:: Examining Memory
-* Auto Display:: Automatic Display
-* Print Settings:: Print Settings
-* Value History:: Value History
-* Convenience Vars:: Convenience Variables
-* Registers:: Registers
-* Floating Point Hardware:: Floating Point Hardware
+* Expressions:: Expressions
+* Variables:: Program Variables
+* Arrays:: Artificial Arrays
+* Output formats:: Output formats
+* Memory:: Examining Memory
+* Auto Display:: Automatic Display
+* Print Settings:: Print Settings
+* Value History:: Value History
+* Convenience Vars:: Convenience Variables
+* Registers:: Registers
+* Floating Point Hardware:: Floating Point Hardware
@end menu
@node Expressions, Variables, Data, Data
@@ -4001,7 +4088,7 @@ Write a complete dump of the debugger's symbol data into the
file @var{filename}.
@end table
-@node Altering, GDB Files, Symbols, Top
+@node Altering, _GDBN__ Files, Symbols, Top
@chapter Altering Execution
Once you think you have found an error in the program, you might want to
@@ -4015,11 +4102,11 @@ locations, give the program a signal, restart it at a different address,
or even return prematurely from a function to its caller.
@menu
-* Assignment:: Assignment to Variables
-* Jumping:: Continuing at a Different Address
-* Signaling:: Giving the Program a Signal
-* Returning:: Returning from a Function
-* Calling:: Calling your Program's Functions
+* Assignment:: Assignment to Variables
+* Jumping:: Continuing at a Different Address
+* Signaling:: Giving the Program a Signal
+* Returning:: Returning from a Function
+* Calling:: Calling your Program's Functions
@end menu
@node Assignment, Jumping, Altering, Altering
@@ -4184,15 +4271,15 @@ execute a function from your program, but without cluttering the output
with @code{void} returned values. The result is printed and saved in
the value history, if it is not void.
-@node GDB Files, Targets, Altering, Top
+@node _GDBN__ Files, Targets, Altering, Top
@chapter _GDBN__'s Files
@menu
-* Files:: Commands to Specify Files
-* Symbol Errors:: Errors Reading Symbol Files
+* Files:: Commands to Specify Files
+* Symbol Errors:: Errors Reading Symbol Files
@end menu
-@node Files, Symbol Errors, GDB Files, GDB Files
+@node Files, Symbol Errors, _GDBN__ Files, _GDBN__ Files
@section Commands to Specify Files
@cindex core dump file
@cindex symbol table
@@ -4384,7 +4471,7 @@ Print the names of the shared libraries which are currently loaded.
@code{sharedlibrary} does not repeat automatically when you press
@key{RET} after using it once.
-@node Symbol Errors, , Files, GDB Files
+@node Symbol Errors, , Files, _GDBN__ Files
@section Errors Reading Symbol Files
While a symbol file is being read, _GDBN__ will occasionally encounter
problems, such as symbol types it does not recognize, or known bugs in
@@ -4477,7 +4564,7 @@ for some C++ object.
@end table
-@node Targets, Controlling _GDBN__, GDB Files, Top
+@node Targets, Controlling _GDBN__, _GDBN__ Files, Top
@chapter Specifying a Debugging Target
@cindex debugging target
@kindex target
@@ -4493,9 +4580,9 @@ serial port, or realtime systems over a TCP/IP connection---you can use
the @code{target} command.
@menu
-* Active Targets:: Active Targets
-* Target Commands:: Commands for Managing Targets
-* Remote:: Remote Debugging
+* Active Targets:: Active Targets
+* Target Commands:: Commands for Managing Targets
+* Remote:: Remote Debugging
@end menu
@node Active Targets, Target Commands, Targets, Targets
@@ -4660,12 +4747,12 @@ the @code{set} command. For commands controlling how _GDBN__ displays
data, @pxref{Print Settings}; other settings are described here.
@menu
-* Prompt:: Prompt
-* Editing:: Command Editing
-* History:: Command History
-* Screen Size:: Screen Size
-* Numbers:: Numbers
-* Messages/Warnings:: Optional Warnings and Messages
+* Prompt:: Prompt
+* Editing:: Command Editing
+* History:: Command History
+* Screen Size:: Screen Size
+* Numbers:: Numbers
+* Messages/Warnings:: Optional Warnings and Messages
@end menu
@node Prompt, Editing, Controlling _GDBN__, Controlling _GDBN__
@@ -4965,9 +5052,9 @@ ways to store sequences of commands for execution as a unit:
user-defined commands and command files.
@menu
-* Define:: User-Defined Commands
-* Command Files:: Command Files
-* Output:: Commands for Controlled Output
+* Define:: User-Defined Commands
+* Command Files:: Command Files
+* Output:: Commands for Controlled Output
@end menu
@node Define, Command Files, Sequences, Sequences
@@ -5294,7 +5381,7 @@ environment. Users of this environment can use a new command,
each value is printed in its own window.
@end ignore
-@node _GDBN__ Bugs, Installing _GDBN__, Emacs, Top
+@node _GDBN__ Bugs, Renamed Commands, Emacs, Top
@c node-name, next, previous, up
@chapter Reporting Bugs in _GDBN__
@cindex Bugs in _GDBN__
@@ -5311,8 +5398,8 @@ In order for a bug report to serve its purpose, you must include the
information that enables us to fix the bug.
@menu
-* Bug Criteria:: Have You Found a Bug?
-* Bug Reporting:: How to Report Bugs
+* Bug Criteria:: Have You Found a Bug?
+* Bug Reporting:: How to Report Bugs
@end menu
@node Bug Criteria, Bug Reporting, _GDBN__ Bugs, _GDBN__ Bugs
@@ -5518,7 +5605,115 @@ things without first using the debugger to find the facts.
@include readline/inc-history.texinfo
@end iftex
-@node Installing _GDBN__, Copying, _GDBN__ Bugs, Top
+@node Renamed Commands, Installing _GDBN__, _GDBN__ Bugs, Top
+@appendix _GDBN__ 4.0 Renamed Commands
+
+The following commands were renamed in _GDBN__ 4.0, in order to make the
+command set as a whole more consistent and easier to use and remember:
+
+@kindex add-syms
+@kindex delete environment
+@kindex info copying
+@kindex info convenience
+@kindex info directories
+@kindex info editing
+@kindex info history
+@kindex info targets
+@kindex info values
+@kindex info version
+@kindex info warranty
+@kindex set addressprint
+@kindex set arrayprint
+@kindex set prettyprint
+@kindex set screen-height
+@kindex set screen-width
+@kindex set unionprint
+@kindex set vtblprint
+@kindex set demangle
+@kindex set asm-demangle
+@kindex set sevenbit-strings
+@kindex set array-max
+@kindex set caution
+@kindex set history write
+@kindex show addressprint
+@kindex show arrayprint
+@kindex show prettyprint
+@kindex show screen-height
+@kindex show screen-width
+@kindex show unionprint
+@kindex show vtblprint
+@kindex show demangle
+@kindex show asm-demangle
+@kindex show sevenbit-strings
+@kindex show array-max
+@kindex show caution
+@kindex show history write
+@kindex unset
+
+@ifinfo
+OLD COMMAND NEW COMMAND
+--------------- ----------------------------------
+add-syms add-symbol-file
+delete environment unset environment
+info convenience show convenience
+info copying show copying
+info directories show directories
+info editing show commands
+info history show values
+info targets help target
+info values show values
+info version show version
+info warranty show warranty
+set/show addressprint set/show print address
+set/show array-max set/show print elements
+set/show arrayprint set/show print array
+set/show asm-demangle set/show print asm-demangle
+set/show caution set/show confirm
+set/show demangle set/show print demangle
+set/show history write set/show history save
+set/show prettyprint set/show print pretty
+set/show screen-height set/show height
+set/show screen-width set/show width
+set/show sevenbit-strings set/show print sevenbit-strings
+set/show unionprint set/show print union
+set/show vtblprint set/show print vtbl
+
+unset [ No longer an alias for delete ]
+@end ifinfo
+
+@tex
+\halign{\tt # &\qquad#&\tt #\cr
+{\bf Old Command} &&{\bf New Command}\cr
+add-syms &&add-symbol-file\cr
+delete environment &&unset environment\cr
+info convenience &&show convenience\cr
+info copying &&show copying\cr
+info directories &&show directories \cr
+info editing &&show commands\cr
+info history &&show values\cr
+info targets &&help target\cr
+info values &&show values\cr
+info version &&show version\cr
+info warranty &&show warranty\cr
+set{\rm / }show addressprint &&set{\rm / }show print address\cr
+set{\rm / }show array-max &&set{\rm / }show print elements\cr
+set{\rm / }show arrayprint &&set{\rm / }show print array\cr
+set{\rm / }show asm-demangle &&set{\rm / }show print asm-demangle\cr
+set{\rm / }show caution &&set{\rm / }show confirm\cr
+set{\rm / }show demangle &&set{\rm / }show print demangle\cr
+set{\rm / }show history write &&set{\rm / }show history save\cr
+set{\rm / }show prettyprint &&set{\rm / }show print pretty\cr
+set{\rm / }show screen-height &&set{\rm / }show height\cr
+set{\rm / }show screen-width &&set{\rm / }show width\cr
+set{\rm / }show sevenbit-strings &&set{\rm / }show print sevenbit-strings\cr
+set{\rm / }show unionprint &&set{\rm / }show print union\cr
+set{\rm / }show vtblprint &&set{\rm / }show print vtbl\cr
+\cr
+unset &&\rm(No longer an alias for delete)\cr
+}
+@end tex
+
+@node Installing _GDBN__, Copying, Renamed Commands, Top
@appendix Installing _GDBN__
@cindex configuring _GDBN__
@cindex installation