From 022cb4c5e1d94266bd33a0f490dca224630e5b58 Mon Sep 17 00:00:00 2001 From: Roland Pesch Date: Tue, 14 May 1991 22:01:19 +0000 Subject: [PATCH] *** empty log message *** --- gdb/doc/gdb.texinfo | 356 +++++++++++++++++++++++++++++++------------- 1 file changed, 256 insertions(+), 100 deletions(-) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index a0ef49f9df..73f39f6bd4 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -115,7 +115,7 @@ original English. @end titlepage @page -@node Top,,, +@node Top, New Features, (dir), (dir) @unnumbered Summary of _GDBN__ The purpose of a debugger such as _GDBN__ is to allow you to see what is @@ -159,7 +159,30 @@ from anyone else. For full details, @pxref{License}. -@node New Features,,, +@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__ +* License:: GNU GENERAL PUBLIC LICENSE +* Index:: Index +@end menu + +@node New Features, Sample Session, Top, Top @unnumbered New Features in _GDBN__ version 4.0 @itemize @bullet @@ -225,7 +248,7 @@ HPPA architecture support. @end itemize -@node Sample Session,,, +@node Sample Session, Invocation, New Features, Top @chapter A Sample _GDBN__ Session You can use this manual at your leisure to read all about _GDBN__. @@ -408,10 +431,16 @@ Finally, when we ended the @code{m4} run, _GDBN__ told us the _GDBN__ @samp{quit} command. -@node Invocation,,, +@node Invocation, Commands, Sample Session, Top @chapter Getting In and Out of _GDBN__ -@node Starting _GDBN__,,, +@menu +* Starting _GDBN__:: Starting _GDBN__ +* Leaving _GDBN__:: Leaving _GDBN__ +* Shell Commands:: Shell Commands +@end menu + +@node Starting _GDBN__, Leaving _GDBN__, Invocation, Invocation @section Starting _GDBN__ _GDBN__ is invoked with the shell command @samp{_GDBP__}. Once started, @@ -444,7 +473,15 @@ All options and command line arguments you give are processed in sequential order. The order makes a difference when the @samp{-x} option is used. -@node File Options,,, +@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 +@end menu + +@node File Options, Mode Options, Starting _GDBN__, Starting _GDBN__ @subsection Choosing Files As shown above, any arguments other than options specify an executable @@ -481,7 +518,7 @@ Execute _GDBN__ commands from file @var{file}. @xref{Command Files}. Add @var{directory} to the path to search for source files. @end table -@node Mode Options,,, +@node Mode Options, i960-Nindy Remote, File Options, Starting _GDBN__ @subsection Choosing Modes @table @code @@ -538,7 +575,7 @@ Run using @code{device} for your program's standard input and output. @end table _if__(_I960__) -@node i960-Nindy Remote,,, +@node i960-Nindy Remote, EB29K Remote, Mode Options, Starting _GDBN__ @subsection _GDBN__ with a Remote i960 (Nindy) ``Nindy'' is the name of a ROM Monitor program for Intel 960 target @@ -556,7 +593,13 @@ By responding to a prompt on startup; By using the @samp{target} command at any point during your _GDBN__ session. @end itemize -@node Nindy Startup,,, +@menu +* 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 @subsubsection Startup with Nindy The command-line options for Nindy are detailed below. If you simply @@ -570,7 +613,7 @@ You can, if you choose, simply start up with no Nindy connection by responding to the prompt with an empty line. If you do this, and later wish to attach to Nindy, use @samp{target} (@pxref{Target Commands}). -@node Nindy Options,,, +@node Nindy Options, Nindy reset, Nindy Startup, i960-Nindy Remote @subsubsection Options for Nindy These are the startup options for beginning your _GDBN__ session with a @@ -614,7 +657,7 @@ The standard @samp{-b} option controls the line speed used on the serial port. @group -@node Nindy reset,,, +@node Nindy reset, , Nindy Options, i960-Nindy Remote @subsubsection Nindy Reset Command @table @code @item reset @@ -628,7 +671,7 @@ a break is detected. _fi__(_I960__) _if__(_AMD29K__) -@node EB29K Remote,,, +@node EB29K Remote, VxWorks Remote, i960-Nindy Remote, Starting _GDBN__ @subsection _GDBN__ with a Remote EB29K @cindex EB29K board @@ -641,7 +684,13 @@ and a serial port on the Unix system. In the following, we assume you've hooked the cable between the PC's @samp{COM1} port and @samp{/dev/ttya} on the Unix system. -@node Comms (EB29K),,, +@menu +* Comms (EB29K):: Communications Setup +* _GDBP__-EB29K:: EB29K cross-debugging +* Remote Log:: Remote Log +@end menu + +@node Comms (EB29K), _GDBP__-EB29K, EB29K Remote, EB29K Remote @subsubsection Communications Setup The next step is to set up the PC's port, by doing something like the following in DOS on the PC: @@ -743,7 +792,7 @@ other way---perhaps floppy-disk transfer---of getting the 29K program from the Unix system to the PC; _GDBN__ will @emph{not} download it over the serial line. -@node _GDBP__-EB29K,,, +@node _GDBP__-EB29K, Remote Log, Comms (EB29K), EB29K Remote @subsubsection EB29K cross-debugging Finally, @code{cd} to the directory containing an image of your 29K program on the Unix system, and start _GDBN__---specifying as argument the @@ -784,7 +833,7 @@ once again, after your _GDBN__ session has concluded, to attach to Type @samp{CTTY con} to return command input to the main DOS console, and type @samp{~.} to leave @code{tip} or @code{cu}. -@node Remote Log,,, +@node Remote Log, , _GDBP__-EB29K, EB29K Remote @subsubsection Remote Log @kindex eb.log @cindex log file for EB29K @@ -797,7 +846,7 @@ unexpected events on the PC side of the connection. _fi__(_AMD29K__) _if__(_VXWORKS__) -@node VxWorks Remote,,, +@node VxWorks Remote, , EB29K Remote, Starting _GDBN__ @subsection _GDBN__ and VxWorks _GDBN__ enables developers to spawn and debug tasks running on networked VxWorks targets from a Unix host. Already-running tasks spawned from @@ -830,7 +879,13 @@ _GDBN__ will come up showing the prompt: (_GDBP__) @end smallexample -@node VxWorks connection,,, +@menu +* VxWorks connection:: Connecting to VxWorks +* VxWorks download:: VxWorks Download +* VxWorks attach:: Running Tasks +@end menu + +@node VxWorks connection, VxWorks download, VxWorks Remote, VxWorks Remote @subsubsection Connecting to VxWorks The _GDBN__ command @samp{target} lets you connect to a VxWorks target on the @@ -861,7 +916,7 @@ you should add the appropriate directory to the search path, with the _GDBN__ command @samp{path}, and execute the @samp{target} command again. -@node VxWorks download,,, +@node VxWorks download, VxWorks attach, VxWorks connection, VxWorks Remote @subsubsection VxWorks Download If you have connected to the VxWorks target and you want to debug an @@ -901,7 +956,7 @@ history. (This is necessary in order to preserve the integrity of debugger data structures that reference the target system's symbol table.) -@node VxWorks attach,,, +@node VxWorks attach, , VxWorks download, VxWorks Remote @subsubsection Running Tasks You can also attach to an existing task using the @samp{attach} command as @@ -917,7 +972,7 @@ the time of attachment. _fi__(_VXWORKS__) -@node Leaving _GDBN__,,, +@node Leaving _GDBN__, Shell Commands, Starting _GDBN__, Invocation @section Leaving _GDBN__ @cindex exiting _GDBN__ @table @code @@ -938,7 +993,7 @@ until a time when it is safe. If you've been using _GDBN__ to control an attached process or device, you can release it with the @samp{detach} command; @pxref{Attach}. -@node Shell Commands,,, +@node Shell Commands, , Leaving _GDBN__, Invocation @section Shell Commands If you just need to execute occasional shell commands during your debugging session, there's no need to leave or suspend _GDBN__; you can @@ -964,10 +1019,15 @@ Causes _GDBN__ to execute an inferior @code{make} program with the specified arguments. This is equivalent to @samp{shell make @var{make-args}}. @end table -@node Commands,,, +@node Commands, Running, Invocation, Top @chapter _GDBN__ Commands -@node Command Syntax,,, +@menu +* Command Syntax:: Command Syntax +* Help:: Getting Help +@end menu + +@node Command Syntax, Help, Commands, Commands @section Command Syntax A _GDBN__ command is a single line of input. There is no limit on how long it can be. It starts with a command name, which is followed by arguments @@ -999,7 +1059,7 @@ scanning of source or memory. A line of input starting with @samp{#} is a comment; it does nothing. This is useful mainly in command files (@xref{Command Files}). -@node Help,,, +@node Help, , Command Syntax, Commands @section Getting Help @cindex online documentation @kindex help @@ -1115,10 +1175,21 @@ Display information about permission for copying _GDBN__. Display the GNU ``NO WARRANTY'' statement. @end table -@node Running,,, +@node Running, Stopping, Commands, Top @chapter Running Programs Under _GDBN__ -@node Compilation,,, +@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 +@end menu + +@node Compilation, Starting, Running, Running @section Compiling for Debugging In order to debug a program most effectively, you need to generate @@ -1165,7 +1236,7 @@ option or use shorter file names. Alternatively, use a version of GNU @end ignore -@node Starting,,, +@node Starting, Arguments, Compilation, Running @section Starting your Program @cindex starting @cindex running @@ -1234,7 +1305,7 @@ If the modification time of your symbol file has changed since the last time _GDBN__ read its symbols, _GDBN__ will discard its symbol table and re-read it. In this process, it tries to retain your current breakpoints. -@node Arguments,,, +@node Arguments, Environment, Starting, Running @section Your Program's Arguments @cindex arguments (to your program) @@ -1260,7 +1331,7 @@ is the only way to run it again without arguments. 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) @@ -1329,7 +1400,7 @@ program. This is different from @samp{set env @var{varname}=}; rather than assigning it an empty value. @end table -@node Working Directory,,, +@node Working Directory, Input/Output, Environment, Running @section Your Program's Working Directory @cindex working directory (of your program) @@ -1352,7 +1423,7 @@ Set _GDBN__'s working directory to @var{directory}. Print _GDBN__'s working directory. @end table -@node Input/Output,,, +@node Input/Output, Attach, Working Directory, Running @section Your Program's Input and Output @cindex redirection @@ -1406,7 +1477,7 @@ When you use the @samp{tty} command or redirect input in the @samp{run} command, only the input @emph{for your program} is affected. The input for _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 @@ -1458,7 +1529,7 @@ whether or not this happens by using the @samp{set confirm} command (@pxref{Messages/Warnings}). @group -@node Kill Process,,, +@node Kill Process, , Attach, Running @section Killing the Child Process @table @code @@ -1484,7 +1555,7 @@ next type @samp{run}, _GDBN__ will notice that the file has changed, and will re-read the symbol table (while trying to preserve your current breakpoint settings). -@node Stopping,,, +@node Stopping, Stack, Running, Top @chapter Stopping and Continuing When you run a program normally, it runs until it terminates. The @@ -1505,7 +1576,14 @@ Display information about the status of your program: whether it is running or not, what process it is, and why it stopped. @end table -@node Breakpoints,,, +@menu +* Breakpoints:: Breakpoints +* Stepping:: Stepping +* Continuing:: Continuing +* Signals:: Signals +@end menu + +@node Breakpoints, Stepping, Stopping, Stopping @section Breakpoints @cindex breakpoints @@ -1522,7 +1600,18 @@ breakpoint you want to change. Each breakpoint may be @dfn{enabled} or @dfn{disabled}; if disabled, it has no effect on the program until you enable it again. -@node Set Breaks,,, +@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'' +@end menu + +@node Set Breaks, Set Watchpoints, Breakpoints, Breakpoints @subsection Setting Breakpoints @kindex break @@ -1616,7 +1705,7 @@ _GDBN__ allows you to set any number of breakpoints at the same place in the program. There is nothing silly or meaningless about this. When the breakpoints are conditional, this is even useful (@pxref{Conditions}). -@node Set Watchpoints,,, +@node Set Watchpoints, Exception Handling, Set Breaks, Breakpoints @subsection Setting Watchpoints @cindex watchpoints A @dfn{watchpoint} is a special breakpoint that stops your program when @@ -1643,7 +1732,7 @@ Set a watchpoint for an expression. This command prints a list of watchpoints. @end table -@node Exception Handling,,, +@node Exception Handling, Delete Breaks, Set Watchpoints, Breakpoints @subsection Breakpoints and Exceptions @cindex exception handlers @@ -1709,7 +1798,7 @@ value of @code{id}, you can cause the debugger to stop only when a specific exception is raised. Multiple conditional breakpoints can be used to stop the program when any of a number of exceptions are raised. -@node Delete Breaks,,, +@node Delete Breaks, Disabling, Exception Handling, Breakpoints @subsection Deleting Breakpoints @cindex clearing breakpoints, watchpoints @@ -1754,7 +1843,7 @@ argument is specified, delete all breakpoints. You can abbreviate this command as @samp{d}. @end table -@node Disabling,,, +@node Disabling, Conditions, Delete Breaks, Breakpoints @subsection Disabling Breakpoints @cindex disabled breakpoints @@ -1830,7 +1919,7 @@ disabled or enabled only when you use one of the commands above. (The command @samp{until} can set and delete a breakpoint of its own, but it will not change the state of your other breakpoints). -@node Conditions,,, +@node Conditions, Break Commands, Disabling, Breakpoints @subsection Break Conditions @cindex conditional breakpoints @cindex breakpoint conditions @@ -1920,7 +2009,7 @@ You could achieve the effect of the ignore count with a condition such as _0__@w{@samp{$foo-- <= 0}}_1__ using a debugger convenience variable that is decremented each time. @xref{Convenience Vars}. -@node Break Commands,,, +@node Break Commands, Error in Breakpoints, Conditions, Breakpoints @subsection Breakpoint Command Lists @cindex breakpoint commands @@ -2023,7 +2112,7 @@ evaluated without changing the terminal modes. When you want to have nontrivial conditions for performing the side effects, the operators @samp{&&}, @samp{||} and @samp{?@dots{}:} may be useful. -@node Error in Breakpoints,,, +@node Error in Breakpoints, , Break Commands, Breakpoints @subsection ``Cannot Insert Breakpoints'' @c FIXME: "cannot insert breakpoints" error, v unclear. @@ -2050,7 +2139,7 @@ linker option @samp{-N}. The operating system limitation may not apply to nonsharable executables. @end enumerate -@node Stepping,,, +@node Stepping, Continuing, Breakpoints, Stopping @section Stepping @cindex stepping @@ -2176,7 +2265,7 @@ happen. The @samp{continue} command can be used after stepping to resume execution until the next breakpoint or signal. -@node Continuing,,, +@node Continuing, Signals, Stepping, Stopping @section Continuing After your program stops, most likely you will want it to run some more if @@ -2208,7 +2297,7 @@ you can continue with @samp{signal 0}. @xref{Signaling}. You can also act in advance to control what signals your program will see, using the @samp{handle} command (@pxref{Signals}). -@node Signals,,, +@node Signals, , Continuing, Stopping @section Signals @cindex signals @@ -2295,7 +2384,7 @@ seeing a signal, or cause it to see a signal it normally would not see, or to give it any signal at any time. @xref{Signaling}. -@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 @@ -2323,7 +2412,14 @@ When the program stops, _GDBN__ automatically selects the currently executing frame and describes it briefly as the @samp{frame} command does (@pxref{Frame Info, Info}). -@node Frames,,, +@menu +* Frames:: Stack Frames +* Backtrace:: Backtraces +* Selection:: Selecting a Frame +* Frame Info:: Information on a Frame +@end menu + +@node Frames, Backtrace, Stack, Stack @section Stack Frames @cindex frame @@ -2373,7 +2469,7 @@ correctly allow tracing of the function call chain. Results are undefined if a function invocation besides the innermost one is frameless. -@node Backtrace,,, +@node Backtrace, Selection, Frames, Stack @section Backtraces A backtrace is a summary of how the program got where it is. It shows one @@ -2430,7 +2526,7 @@ The display for frame @code{#0} doesn't begin with a program counter value, indicating that the 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 the program work on @@ -2498,7 +2594,7 @@ distracting. @end table -@node Frame Info,,, +@node Frame Info, , Selection, Stack @section Information on a Frame There are several other commands to print information about the selected @@ -2552,7 +2648,7 @@ exception handlers, visit the associated frame (using the @samp{up}, @xref{Exception Handling}. @end table -@node Source,,, +@node Source, Data, Stack, Top @chapter Examining Source Files _GDBN__ can print parts of your program's source, since the debugging @@ -2566,7 +2662,14 @@ print parts of source files by explicit command. If you use _GDBN__ through its GNU Emacs interface, you may prefer to use Emacs facilities to view source; @pxref{Emacs}. -@node List,,, +@menu +* 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 @section Printing Source Lines @kindex list @@ -2670,7 +2773,7 @@ Specifies the line containing the program address @var{address}. @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 @@ -2695,7 +2798,7 @@ for @var{regexp}. It lists the line that is found. You can abbreviate this command as @samp{rev}. @end table -@node Source Path,,, +@node Source Path, Machine Code, Search, Source @section Specifying Source Directories @cindex source path @@ -2759,7 +2862,7 @@ directories you want in the source path. You can add all the 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 @samp{info line} to map source lines to program addresses, and the command @samp{disassemble} or its synonym @@ -2793,7 +2896,7 @@ exclusive) to be dumped. The two spellings, @samp{disasm} and @samp{disassemble}, are equivalent. @end table -@node Data,,, +@node Data, Symbols, Source, Top @chapter Examining Data @cindex printing data @@ -2821,7 +2924,21 @@ A more low-level way of examining data is with the @samp{x} command. It examines data in memory at a specified address and prints it in a specified format. @xref{Memory}. -@node Expressions,,, +@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 +@end menu + +@node Expressions, Variables, Data, Data @section Expressions @cindex expressions @@ -2859,7 +2976,7 @@ a cast). This construct is allowed regardless of what kind of data is officially supposed to reside at @var{addr}.@refill @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 @@ -2910,7 +3027,7 @@ Unfortunately, this use of @samp{::} conflicts with the very similar use of the same notation in C++; accordingly, _GDBN__ does not support use of the C++ name resolution operator in _GDBN__ expressions. -@node Arrays,,, +@node Arrays, Output formats, Variables, Data @section Artificial Arrays @cindex artificial array @@ -2946,7 +3063,7 @@ subscripting, and are coerced to pointers when used in expressions. Artificial arrays most often appear in expressions via the value history (@pxref{Value History}), after printing one out.) -@node Output formats,,, +@node Output formats, Memory, Arrays, Data @section Output formats @cindex formatted output @@ -3012,7 +3129,7 @@ To reprint the last value in the value history with a different format, you can use the @samp{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 @cindex examining memory @@ -3148,7 +3265,7 @@ If the @samp{x} command has a repeat count, the address and contents saved 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 @@ -3243,7 +3360,7 @@ there is no variable @samp{name}---display is disabled. The next time your program stops where @samp{name} 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 @@ -3439,7 +3556,7 @@ 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 @@ -3510,7 +3627,7 @@ Print ten history values centered on history item number @var{n}. Print ten history values just after the values last printed. @end table -@node Convenience Vars,,, +@node Convenience Vars, Registers, Value History, Data @section Convenience Variables @cindex convenience variables @@ -3577,7 +3694,7 @@ The variable @code{$__} is automatically set by the @samp{x} command to the value found in the last address examined. @end table -@node Registers,,, +@node Registers, Floating Point Hardware, Convenience Vars, Data @section Registers @cindex registers @@ -3662,7 +3779,7 @@ not allowed when other stack frames are selected. (To pop entire frames off the stack, regardless of machine architecture, use @samp{return}; @pxref{Returning}.) -@node Floating Point Hardware,,, +@node Floating Point Hardware, , Registers, Data @section Floating Point Hardware @cindex floating point Depending on the host machine architecture, _GDBN__ may be able to give @@ -3680,7 +3797,7 @@ floating point chip. @c FIXME... m4 macros to isolate general statements from hardware-dep, @c FIXME... at that point. -@node Symbols,,, +@node Symbols, Altering, Data, Top @chapter Examining the Symbol Table The commands described in this section allow you to inquire about the @@ -3809,7 +3926,7 @@ Write a complete dump of the debugger's symbol data into the file @var{filename}. @end table -@node Altering,,, +@node Altering, GDB Files, Symbols, Top @chapter Altering Execution Once you think you have found an error in the program, you might want to @@ -3822,7 +3939,15 @@ For example, you can store new values into variables or memory locations, give the program a signal, restart it at a different address, or even return prematurely from a function to its caller. -@node Assignment,,, +@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 +@end menu + +@node Assignment, Jumping, Altering, Altering @section Assignment to Variables @cindex assignment @@ -3875,7 +4000,7 @@ set @{int@}0x83040 = 4 @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 the program, you do so at the place where @@ -3921,7 +4046,7 @@ perhaps with more breakpoints set, over a portion of a program that has already executed. @group -@node Signaling,,, +@node Signaling, Returning, Jumping, Altering @section Giving the Program a Signal @table @code @@ -3941,7 +4066,7 @@ after using it once. @end table @end group -@node Returning,,, +@node Returning, Calling, Signaling, Altering @section Returning from a Function @table @code @@ -3968,7 +4093,7 @@ program stopped in the state that would exist if the function had just returned. In contrast, the @samp{finish} command (@pxref{Stepping}) resumes execution until the selected stack frame returns naturally. -@node Calling,,, +@node Calling, , Returning, Altering @section Calling your Program's Functions @cindex calling functions @@ -3984,10 +4109,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,,, +@node GDB Files, Targets, Altering, Top @chapter _GDBN__'s Files -@node Files,,, +@menu +* Files:: Commands to Specify Files +* Symbol Errors:: Errors Reading Symbol Files +@end menu + +@node Files, Symbol Errors, GDB Files, GDB Files @section Commands to Specify Files @cindex core dump file @cindex symbol table @@ -4179,7 +4309,7 @@ Print the names of the shared libraries which are currently loaded. @samp{sharedlibrary} does not repeat automatically when you press @key{RET} after using it once. -@node Symbol Errors,,, +@node Symbol Errors, , Files, GDB 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 @@ -4272,7 +4402,7 @@ for some C++ object. @end table -@node Targets,,, +@node Targets, Controlling _GDBN__, GDB Files, Top @chapter Specifying a Debugging Target @cindex debugging target @kindex target @@ -4287,7 +4417,13 @@ physically separate host, controlling standalone systems over a serial port, or realtime systems over a TCP/IP connection---you can use the @samp{target} command. -@node Active Targets,,, +@menu +* Active Targets:: Active Targets +* Target Commands:: Commands for Managing Targets +* Remote:: Remote Debugging +@end menu + +@node Active Targets, Target Commands, Targets, Targets @section Active Targets @cindex stacking targets @cindex active targets @@ -4313,7 +4449,7 @@ To get rid of a target without replacing it, use the @samp{detach} command. The related command @samp{attach} provides you with a way of choosing a particular running process as a new target. @xref{Attach}. -@node Target Commands,,, +@node Target Commands, Remote, Active Targets, Targets @section Commands for Managing Targets @table @code @@ -4394,7 +4530,7 @@ Different targets are available on different configurations of _GDBN__; your configuration may have more or fewer targets. _fi__(_GENERIC__) -@node Remote,,, +@node Remote, , Target Commands, Targets @section Remote Debugging @cindex remote debugging @@ -4441,14 +4577,23 @@ command. Other remote targets may be available in your configuration of _GDBN__; use @samp{help targets} to list them. -@node Controlling _GDBN__,,, +@node Controlling _GDBN__, Sequences, Targets, Top @chapter Controlling _GDBN__ You can alter many aspects of _GDBN__'s interaction with you by using the @samp{set} command. For commands controlling how _GDBN__ displays data, @pxref{Print Settings}; other settings are described here. -@node Prompt,,, +@menu +* 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__ @section Prompt @cindex prompt _GDBN__ indicates its readiness to read a command by printing a string @@ -4467,7 +4612,7 @@ Directs _GDBN__ to use @var{newprompt} as its prompt string henceforth. Prints a line of the form: @samp{Gdb's prompt is: @var{your-prompt}} @end table -@node Editing,,, +@node Editing, History, Prompt, Controlling _GDBN__ @section Command Editing @cindex readline @cindex command line editing @@ -4496,7 +4641,7 @@ Disable command line editing. @item show editing Show whether command line editing is enabled. -@node History,,, +@node History, Screen Size, Editing, Controlling _GDBN__ @section Command History @cindex history substitution @cindex history file @@ -4586,7 +4731,7 @@ Print ten commands just after the commands last printed. @end table -@node Screen Size,,, +@node Screen Size, Numbers, History, Controlling _GDBN__ @section Screen Size @cindex size of screen @cindex pauses in output @@ -4622,7 +4767,7 @@ no matter how long the output is. This is useful if output is to a file or to an editor buffer. @end table -@node Numbers,,, +@node Numbers, Messages/Warnings, Screen Size, Controlling _GDBN__ @section Numbers @cindex number representation @cindex entering numbers @@ -4658,7 +4803,7 @@ Display the current default base for numeric input and display. @end table -@node Messages/Warnings,,, +@node Messages/Warnings, , Numbers, Controlling _GDBN__ @section Optional Warnings and Messages By default, _GDBN__ is silent about its inner workings. If you are running on a slow machine, you may want to use the @samp{set verbose} command. @@ -4737,14 +4882,20 @@ Enables confirmation requests (the default). Displays state of confirmation requests. @end table -@node Sequences,,, +@node Sequences, Emacs, Controlling _GDBN__, Top @chapter Canned Sequences of Commands Aside from breakpoint commands (@pxref{Break Commands}),_GDBN__ provides two ways to store sequences of commands for execution as a unit: user-defined commands and command files. -@node Define,,, +@menu +* Define:: User-Defined Commands +* Command Files:: Command Files +* Output:: Commands for Controlled Output +@end menu + +@node Define, Command Files, Sequences, Sequences @section User-Defined Commands @cindex user-defined command @@ -4797,7 +4948,7 @@ without asking when used inside a user-defined command. Many _GDBN__ commands that normally print messages to say what they are doing omit the messages when used in a user-defined command. -@node Command Files,,, +@node Command Files, Output, Define, Sequences @section Command Files @cindex command files @@ -4830,7 +4981,7 @@ without asking when used in a command file. Many _GDBN__ commands that 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 @@ -4906,7 +5057,7 @@ string are the simple ones that consist of backslash followed by a letter. @end table -@node Emacs,,, +@node Emacs, _GDBN__ Bugs, Sequences, Top @chapter Using _GDBN__ under GNU Emacs @cindex emacs @@ -5068,7 +5219,7 @@ environment. Users of this environment can use a new command, each value is printed in its own window. @end ignore -@node _GDBN__ Bugs,,, +@node _GDBN__ Bugs, Installing _GDBN__, Emacs, Top @c node-name, next, previous, up @chapter Reporting Bugs in _GDBN__ @cindex Bugs in _GDBN__ @@ -5084,7 +5235,12 @@ reports are your contribution to the maintenance of _GDBN__. In order for a bug report to serve its purpose, you must include the information that enables us to fix the bug. -@node Bug Criteria,,, +@menu +* Bug Criteria:: Have You Found a Bug? +* Bug Reporting:: How to Report Bugs +@end menu + +@node Bug Criteria, Bug Reporting, _GDBN__ Bugs, _GDBN__ Bugs @section Have You Found a Bug? @cindex Bug Criteria @@ -5113,7 +5269,7 @@ If you are an experienced user of debugging tools, your suggestions for improvement of _GDBN__ are welcome in any case. @end itemize -@node Bug Reporting,,, +@node Bug Reporting, , Bug Criteria, _GDBN__ Bugs @section How to Report Bugs @cindex Bug Reports @cindex Compiler Bugs, Reporting @@ -5287,7 +5443,7 @@ things without first using the debugger to find the facts. @include readline/inc-history.texinfo @end iftex -@node Installing _GDBN__,,, +@node Installing _GDBN__, License, _GDBN__ Bugs, Top @appendix Installing _GDBN__ @cindex configuring _GDBN__ @cindex installation @@ -5341,7 +5497,7 @@ path to the _GDBN__ source. Display a list of supported target environments for _GDBN__. @end table -@node License,,, +@node License, Index, Installing _GDBN__, Top @unnumbered GNU GENERAL PUBLIC LICENSE @center Version 1, February 1989 @@ -5639,7 +5795,7 @@ Ty Coon, President of Vice That's all there is to it! -@node Index,,, +@node Index, , License, Top @unnumbered Index @printindex cp