*** empty log message ***
This commit is contained in:
parent
14719f8df6
commit
022cb4c5e1
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue