(1) Drag various bits and pieces into a "Starting GDB" chapter at the front;
1a) Isolate Nindy-960 stuff into subsection of above, and expand it; (2) Expand GDB-under-Emacs chapter; (3) Minor cosmetics, including small free software blurb at front to make RMS feel better about GPL moved to back.
This commit is contained in:
parent
23e2e5e133
commit
369a6ade1c
1 changed files with 281 additions and 164 deletions
|
@ -1,7 +1,7 @@
|
|||
\input texinfo
|
||||
@setfilename gdb.info
|
||||
@synindex ky cp
|
||||
@c CHANGELOG CONSULTED BETWEEN:
|
||||
@c FOR UPDATES LEADING TO THIS DRAFT, GDB CHANGELOG CONSULTED BETWEEN:
|
||||
@c Tue Feb 26 01:47:07 1991 Cygnus John Gilmore (cygnus at yuba)
|
||||
@c Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint)
|
||||
@ifinfo
|
||||
|
@ -40,10 +40,12 @@ original English.
|
|||
@title{Using GDB}
|
||||
@subtitle{A Guide to the GNU Source-Level Debugger}
|
||||
@sp 1
|
||||
@subtitle Third Edition---GDB version 4.0
|
||||
@subtitle December 1990
|
||||
@c Maybe crank this up to "Fourth Edition" when released at FSF
|
||||
@c @subtitle Third Edition---GDB version 4.0
|
||||
@subtitle GDB version 4.0
|
||||
@subtitle January 1991
|
||||
@author{Richard M. Stallman}
|
||||
@author{(Revised by Cygnus Support)}
|
||||
@author{(Revised by Roland Pesch for Cygnus Support)}
|
||||
@page
|
||||
|
||||
@tex
|
||||
|
@ -108,8 +110,24 @@ GDB 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 written.
|
||||
|
||||
@unnumberedsec Free Software
|
||||
GDB is Free Software, protected by the GNU General Public License (GPL).
|
||||
The GPL gives you the freedom to copy or adapt a licensed
|
||||
program---but every person getting a copy also gets with it the
|
||||
freedom to modify that copy (which means that they must get access to
|
||||
the source code), and the freedom to distribute further copies.
|
||||
Typical software companies use copyrights to limit your freedoms; the
|
||||
Free Software Foundation uses the GPL to preserve these freedoms.
|
||||
|
||||
Fundamentally, the General Public License is a license which says that
|
||||
you have these freedoms and that you can't take these freedoms away
|
||||
from anyone else.
|
||||
|
||||
For full details, @pxref{License}.
|
||||
|
||||
@menu
|
||||
* New Features:: New Features in GDB version 4.0
|
||||
* Invocation:: Starting GDB
|
||||
* User Interface:: GDB Commands and Displays
|
||||
* Files:: Specifying GDB's Files
|
||||
* Compilation:: Compiling Your Program for Debugging
|
||||
|
@ -122,7 +140,6 @@ Fortran compiler is written.
|
|||
* Symbols:: Examining the Symbol Table
|
||||
* Altering:: Altering Execution
|
||||
* Sequences:: Canned Sequences of Commands
|
||||
* Options:: Options and Arguments for GDB
|
||||
* Emacs:: Using GDB under GNU Emacs
|
||||
* Remote:: Remote Debugging
|
||||
* GDB Bugs:: Reporting Bugs in GDB
|
||||
|
@ -133,10 +150,16 @@ Fortran compiler is written.
|
|||
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
Specifying GDB's Files
|
||||
Starting GDB
|
||||
|
||||
* File Arguments:: Specifying Files with Arguments
|
||||
* File Commands:: Specifying Files with Commands
|
||||
* File Options:: File-specifying Options and Arguments
|
||||
* Mode Options:: Mode Options
|
||||
* Remote i960-Nindy:: Starting GDB with a Remote Intel 960 (Nindy)
|
||||
|
||||
Specifying a Debugging Target
|
||||
|
||||
* Active Targets:: Active Targets
|
||||
* Target Commands:: Commands for Managing Targets
|
||||
|
||||
Running Your Program Under GDB
|
||||
|
||||
|
@ -213,13 +236,6 @@ Canned Sequences of Commands
|
|||
* Output:: Controlled output commands useful in
|
||||
user-defined commands and command files.
|
||||
|
||||
Options and Arguments for GDB
|
||||
|
||||
* Mode Options:: Options controlling modes of operation.
|
||||
* File Options:: Options to specify files (executable, coredump, commands)
|
||||
* Other Arguments:: Any other arguments without options
|
||||
also specify files.
|
||||
|
||||
Remote Debugging
|
||||
|
||||
* Remote Commands:: Commands used to start and finish remote debugging.
|
||||
|
@ -230,7 +246,7 @@ Reporting Bugs in GDB
|
|||
* Bug Reporting:: How to Report Bugs
|
||||
@end menu
|
||||
|
||||
@node New Features, User Interface, Top, Top
|
||||
@node New Features, Invocation, Top, Top
|
||||
@unnumbered New Features in GDB version 4.0
|
||||
|
||||
@itemize @bullet
|
||||
|
@ -296,12 +312,178 @@ HPPA architecture support.
|
|||
|
||||
@end itemize
|
||||
|
||||
@node User Interface, Files, New Features, Top
|
||||
@chapter GDB Commands and Displays
|
||||
@node Invocation, User Interface, New Features, Top
|
||||
@chapter Starting GDB
|
||||
|
||||
GDB is invoked with the shell command @samp{gdb}. Once started, it reads
|
||||
commands from the terminal until you tell it to exit.
|
||||
|
||||
The most usual way to start GDB is with one argument or two, specifying
|
||||
an executable program as the argument:
|
||||
@example
|
||||
gdb program
|
||||
@end example
|
||||
@noindent
|
||||
or you can start with both an executable program and a core file specified:
|
||||
@example
|
||||
gdb program core
|
||||
@end example
|
||||
|
||||
You can get more detailed control over how GDB starts up using a number
|
||||
of command-line options.
|
||||
|
||||
All the options and command line arguments given are processed
|
||||
in sequential order. The order makes a difference when the
|
||||
@samp{-x} option is used.
|
||||
|
||||
@menu
|
||||
* File Options:: File-specifying Options and Arguments
|
||||
* Mode Options:: Mode Options
|
||||
* Remote i960-Nindy:: Starting GDB with a Remote Intel 960 (Nindy)
|
||||
@end menu
|
||||
|
||||
@node File Options, Mode Options, Invocation, Invocation
|
||||
@section File-specifying Options and Arguments
|
||||
|
||||
As shown in the example, any arguments other
|
||||
than options specify an executable file and core file; that is, the
|
||||
first argument encountered with no associated option flag is equivalent
|
||||
to a @samp{-se} option, and the second, if any, is equivalent to a
|
||||
@samp{-c} option.
|
||||
|
||||
@table @code
|
||||
@item -s @var{file}
|
||||
Read symbol table from file @var{file}.
|
||||
|
||||
@item -e @var{file}
|
||||
Use file @var{file} as the executable file to execute when
|
||||
appropriate, and for examining pure data in conjunction with a core
|
||||
dump.
|
||||
|
||||
@item -se @var{file}
|
||||
Read symbol table from file @var{file} and use it as the executable
|
||||
file.
|
||||
|
||||
@item -c @var{file}
|
||||
Use file @var{file} as a core dump to examine.
|
||||
|
||||
@item -x @var{file}
|
||||
Execute GDB commands from file @var{file}. @xref{Command Files}.
|
||||
|
||||
@item -d @var{directory}
|
||||
Add @var{directory} to the path to search for source files.
|
||||
@end table
|
||||
|
||||
@node Mode Options, Remote i960-Nindy, File Options, Invocation
|
||||
@section Mode Options
|
||||
|
||||
@table @code
|
||||
@item -nx
|
||||
Do not execute commands from the init files @file{.gdbinit}.
|
||||
Normally, the commands in these files are executed after all the
|
||||
command options and arguments have been processed. @xref{Command
|
||||
Files}.
|
||||
|
||||
@item -q
|
||||
``Quiet''. Do not print the introductory and copyright messages. These
|
||||
messages are also suppressed in batch mode, or if an executable file name is
|
||||
specified on the GDB command line.
|
||||
|
||||
@item -batch
|
||||
Run in batch mode. Exit with code 0 after processing all the command
|
||||
files specified with @samp{-x} (and @file{.gdbinit}, if not inhibited).
|
||||
Exit with nonzero status if an error occurs in executing the GDB
|
||||
commands in the command files.
|
||||
|
||||
Batch mode may be useful for running GDB as a filter, for example to
|
||||
download and run a program on another computer; in order to make this
|
||||
more useful, the message @samp{Program exited normally.} (which is
|
||||
ordinarily issued whenever a program running under GDB control stops) is
|
||||
not issued when running in batch mode.
|
||||
|
||||
@item -fullname
|
||||
This option is used when Emacs runs GDB as a subprocess. It tells GDB
|
||||
to output the full file name and line number in a standard,
|
||||
recognizable fashion each time a stack frame is displayed (which
|
||||
includes each time the program stops). This recognizable format looks
|
||||
like two @samp{\032} characters, followed by the file name, line number
|
||||
and character position separated by colons, and a newline. The
|
||||
Emacs-to-GDB interface program uses the two @samp{\032} characters as
|
||||
a signal to display the source code for the frame.
|
||||
|
||||
@item -b @var{bps}
|
||||
Set the line speed (baud rate or bps) of any serial interface used by
|
||||
GDB (for remote debugging).
|
||||
@end table
|
||||
|
||||
@node Remote i960-Nindy, , Mode Options, Invocation
|
||||
@section Starting GDB with a Remote Intel 960 (Nindy)
|
||||
|
||||
When GDB is configured to control a remote intel 960 attached to your
|
||||
host (through a Nindy monitor: Nindy is the name of a Rom Monitor
|
||||
program for Intel 960 target systems), you can attach to the 960 in
|
||||
several ways:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Through command line options specifying device, baud rate, and protocol;
|
||||
|
||||
@item
|
||||
By responding to a prompt on startup;
|
||||
|
||||
@item
|
||||
By using the @samp{target} command at any point during your GDB session.
|
||||
@end itemize
|
||||
|
||||
The command-line options for Nindy are detailed below. If you simply
|
||||
start GDB-960 without using options to specify a serial port, you are
|
||||
prompted for it, @emph{before} you reach the ordinary GDB prompt:
|
||||
@example
|
||||
Attach /dev/ttyNN -- specify NN, or "quit" to quit:
|
||||
@end example
|
||||
@noindent
|
||||
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}).
|
||||
|
||||
These are the startup options for beginning your GDB session with a
|
||||
Nindy-960 board attached:
|
||||
|
||||
@table @code
|
||||
@item -r @var{port}
|
||||
Specify the serial port name of a serial interface to be used to connect
|
||||
to the target system's Nindy monitor. (Nindy is the name of a ROM Monitor
|
||||
program for Intel 960 target systems.) This option is only available when
|
||||
GDB is configured for the Intel 960 target architecture. You may
|
||||
specify @var{port} as any of: a full pathname (e.g. @samp{-r /dev/ttya}), a
|
||||
device name in @samp{/dev} (e.g. @samp{-r ttya}), or simply the unique
|
||||
suffix for a specific @code{tty} (e.g. @samp{-r a}).
|
||||
|
||||
@item -O
|
||||
Specify that GDB should use the ``old'' Nindy monitor protocol to connect
|
||||
to the target system. This option is only available when GDB is configured
|
||||
for the Intel 960 target architecture.
|
||||
|
||||
@quotation
|
||||
@emph{Warning:} if you specify @samp{-O}, but are actually trying to
|
||||
connect to a target system using the current protocol, the connection
|
||||
will fail appearing to be a speed mismatch, and GDB will repeatedly
|
||||
attempt to reconnect at several different line speeds. You can abort
|
||||
this process with an interrupt.
|
||||
@end quotation
|
||||
|
||||
@item -brk
|
||||
Specify that GDB should first send a @samp{BREAK} signal to the target
|
||||
system, in an attempt to reset it, before connecting to a Nindy target.
|
||||
This option is only available when GDB is configured for the Intel 960
|
||||
target architecture.
|
||||
|
||||
@end table
|
||||
|
||||
|
||||
@node User Interface, Files, Invocation, Top
|
||||
@chapter GDB Commands and Displays
|
||||
|
||||
A GDB 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
|
||||
whose meaning depends on the command name. For example, the command
|
||||
|
@ -473,7 +655,7 @@ These commands display the state of the GDB history parameters.
|
|||
@kindex info set
|
||||
@item show
|
||||
@itemx info set
|
||||
This chapter introduced a number of internal GDB variables that you
|
||||
This chapter introduces a number of internal GDB variables that you
|
||||
can control with the @samp{set} command, and display with the
|
||||
@samp{show} command. A number of others are introduced throughout the
|
||||
manual. To display all the settable parameters and their current
|
||||
|
@ -673,39 +855,14 @@ order to read its symbol table and in order to start the program. To
|
|||
debug a core dump of a previous run, GDB must be told the file name of
|
||||
the core dump.
|
||||
|
||||
@menu
|
||||
* File Arguments:: Specifying Files with Arguments
|
||||
* File Commands:: Specifying Files with Commands
|
||||
@end menu
|
||||
|
||||
@node File Arguments, File Commands, Files, Files
|
||||
@section Specifying Files with Arguments
|
||||
|
||||
The usual way to specify the executable and core dump file names is with
|
||||
two command arguments given when you start GDB. The first argument is used
|
||||
as the file for execution and symbols, and the second argument (if any) is
|
||||
used as the core dump file name. Thus,
|
||||
the command arguments given when you start GDB, as discussed in
|
||||
@pxref{Invocation}.
|
||||
|
||||
@example
|
||||
gdb program core
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
specifies @file{program} as the executable program and @file{core} as a core
|
||||
dump file to examine. (You do not need to have a core dump file if what
|
||||
you plan to do is debug the program interactively.)
|
||||
|
||||
@xref{Options}, for full information on options and arguments for
|
||||
invoking GDB.
|
||||
|
||||
@node File Commands, , File Arguments, Files
|
||||
@section Specifying Files with Commands
|
||||
|
||||
Usually you specify the files for GDB to work with by giving arguments when
|
||||
you invoke GDB. But occasionally it is necessary to change to a different
|
||||
file during a GDB session. Or you may run GDB and forget to specify the
|
||||
files you want to use. In these situations the GDB commands to specify new
|
||||
files are useful.
|
||||
But occasionally it is necessary to change to a different file during a
|
||||
GDB session. Or you may run GDB and forget to specify the files you
|
||||
want to use. In these situations the GDB commands to specify new files
|
||||
are useful.
|
||||
|
||||
@table @code
|
||||
@item file @var{filename}
|
||||
|
@ -985,7 +1142,12 @@ 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
|
||||
@end menu
|
||||
|
||||
@node Active Targets, Target Commands, Targets, Targets
|
||||
@section Active Targets
|
||||
@cindex stacking targets
|
||||
@cindex active targets
|
||||
|
@ -1011,7 +1173,7 @@ To get rid of a target without replacing it, use the @samp{detach}
|
|||
command. The related command @samp{attach} provides you
|
||||
with an alternative way of choosing a new target. @xref{Attach}.
|
||||
|
||||
@node Target Commands,,,
|
||||
@node Target Commands, , Active Targets, Targets
|
||||
@section Commands for Managing Targets
|
||||
|
||||
@table @code
|
||||
|
@ -2301,9 +2463,11 @@ ten lines centered on the point of execution in the frame. @xref{List}.
|
|||
These two commants are variants of @samp{up} and @samp{down},
|
||||
respectively; they differ in that they do their work silently, without
|
||||
causing display of the new frame. They are intended primarily for use
|
||||
in GDB command scripts, where the output might be unncecssary and
|
||||
in GDB command scripts, where the output might be unnecessary and
|
||||
distracting.
|
||||
|
||||
@end table
|
||||
|
||||
@node Frame Info, , Selection, Stack
|
||||
@section Information on a Frame
|
||||
|
||||
|
@ -3689,7 +3853,7 @@ execute some piece of 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 Sequences, Options, Altering, Top
|
||||
@node Sequences, Emacs, Altering, Top
|
||||
@chapter Canned Sequences of Commands
|
||||
|
||||
Aside from breakpoint commands (@pxref{Break Commands}),GDB provides two
|
||||
|
@ -3851,112 +4015,7 @@ string are the simple ones that consist of backslash followed by a
|
|||
letter.
|
||||
@end table
|
||||
|
||||
@node Options, Emacs, Sequences, Top
|
||||
@chapter Options and Arguments for GDB
|
||||
|
||||
When you invoke GDB, you can specify arguments telling it what files to
|
||||
operate on and what other things to do.
|
||||
|
||||
@menu
|
||||
* Mode Options:: Options controlling modes of operation.
|
||||
* File Options:: Options to specify files (executable, coredump, commands)
|
||||
* Other Arguments:: Any other arguments without options
|
||||
also specify files.
|
||||
@end menu
|
||||
|
||||
@node Mode Options, File Options, Options, Options
|
||||
@section Mode Options
|
||||
|
||||
@table @samp
|
||||
@item -nx
|
||||
Do not execute commands from the init files @file{.gdbinit}.
|
||||
Normally, the commands in these files are executed after all the
|
||||
command options and arguments have been processed. @xref{Command
|
||||
Files}.
|
||||
|
||||
@item -q
|
||||
``Quiet''. Do not print the introductory and copyright messages. These
|
||||
messages are also suppressed in batch mode, or if an executable file name is
|
||||
specified on the GDB command line.
|
||||
|
||||
@item -batch
|
||||
Run in batch mode. Exit with code 0 after processing all the command
|
||||
files specified with @samp{-x} (and @file{.gdbinit}, if not inhibited).
|
||||
Exit with nonzero status if an error occurs in executing the GDB
|
||||
commands in the command files.
|
||||
|
||||
@item -fullname
|
||||
This option is used when Emacs runs GDB as a subprocess. It tells GDB
|
||||
to output the full file name and line number in a standard,
|
||||
recognizable fashion each time a stack frame is displayed (which
|
||||
includes each time the program stops). This recognizable format looks
|
||||
like two @samp{\032} characters, followed by the file name, line number
|
||||
and character position separated by colons, and a newline. The
|
||||
Emacs-to-GDB interface program uses the two @samp{\032} characters as
|
||||
a signal to display the source code for the frame.
|
||||
|
||||
@item -b @samp{baudrate}
|
||||
Set the baud rate of any serial interface used by GDB (e.g. for remote
|
||||
debugging).
|
||||
|
||||
@item -r @samp{port}
|
||||
Specify the serial port name of a serial interface to be used to connect
|
||||
to the target system's Nindy monitor. (Nindy is the name of a ROM Monitor
|
||||
program for Intel 960 target systems.) This option is only available when
|
||||
GDB is configured for the Intel 960 target architecture.
|
||||
|
||||
@item -O
|
||||
Specify that GDB should use the ``old'' Nindy monitor protocol to connect
|
||||
to the target system. This option is only available when GDB is configured
|
||||
for the Intel 960 target architecture.
|
||||
|
||||
@item -brk
|
||||
Specify that GDB should first send a @samp{BREAK} signal to the target
|
||||
system, in an attempt to reset it, before connecting to a Nindy target.
|
||||
This option is only available when GDB is configured for the Intel 960
|
||||
target architecture.
|
||||
|
||||
@end table
|
||||
|
||||
@node File Options, Other Arguments, Mode Options, Options
|
||||
@section File-specifying Options
|
||||
|
||||
All the options and command line arguments given are processed
|
||||
in sequential order. The order makes a difference when the
|
||||
@samp{-x} option is used.
|
||||
|
||||
@table @samp
|
||||
@item -s @var{file}
|
||||
Read symbol table from file @var{file}.
|
||||
|
||||
@item -e @var{file}
|
||||
Use file @var{file} as the executable file to execute when
|
||||
appropriate, and for examining pure data in conjunction with a core
|
||||
dump.
|
||||
|
||||
@item -se @var{file}
|
||||
Read symbol table from file @var{file} and use it as the executable
|
||||
file.
|
||||
|
||||
@item -c @var{file}
|
||||
Use file @var{file} as a core dump to examine.
|
||||
|
||||
@item -x @var{file}
|
||||
Execute GDB commands from file @var{file}.
|
||||
|
||||
@item -d @var{directory}
|
||||
Add @var{directory} to the path to search for source files.
|
||||
@end table
|
||||
|
||||
@node Other Arguments, , File Options, Options
|
||||
@section Other Arguments
|
||||
|
||||
If there are arguments to GDB that are not options or associated with
|
||||
options, the first one specifies the symbol table and executable file name
|
||||
(as if it were preceded by @samp{-se}) and the second one specifies a core
|
||||
dump file name (as if it were preceded by @samp{-c}).
|
||||
|
||||
@node Emacs, Remote, Options, Top
|
||||
@node Emacs, Remote, Sequences, Top
|
||||
@chapter Using GDB under GNU Emacs
|
||||
|
||||
@cindex emacs
|
||||
|
@ -3995,21 +4054,57 @@ Explicit GDB @samp{list} or search commands still produce output as
|
|||
usual, but you probably will have no reason to use them.
|
||||
@end itemize
|
||||
|
||||
In the GDB I/O buffer, you can use these special Emacs commands:
|
||||
@quotation
|
||||
@emph{Warning:} If the directory where your program resides is not your
|
||||
current directory, it can be easy to confuse Emacs about the location of
|
||||
the source files, in which case the auxiliary display buffer will not
|
||||
appear to show your source. GDB can find programs by searching your
|
||||
environment's @samp{PATH} variable, so the GDB I/O session will proceed
|
||||
normally; but Emacs doesn't get enough information back from GDB to
|
||||
locate the source files in this situation. To avoid this problem,
|
||||
either start GDB mode from the directory where your program resides, or
|
||||
specify a full path name when prompted for the @kbd{M-x gdb} argument.
|
||||
|
||||
A similar confusion can result if you use the GDB @samp{file} command to
|
||||
switch to debugging a program in some other location, from an existing
|
||||
GDB I/O buffer in Emacs.
|
||||
@end quotation
|
||||
|
||||
By default, @kbd{M-x gdb} calls the program called ``@code{gdb}''. If
|
||||
you need to call GDB by a different name (for example, if you keep
|
||||
several configurations around, with different names) you can set the
|
||||
Emacs variable @code{gdb-command-name}; for example,
|
||||
@example
|
||||
(setq gdb-command-name "mygdb")
|
||||
@end example
|
||||
@noindent
|
||||
(preceded by @kbd{ESC ESC}, or typed in the @code{*scratch*} buffer, or
|
||||
in your @samp{.emacs} file) will make Emacs call the program named
|
||||
``@code{mygdb}'' instead.
|
||||
|
||||
In the GDB I/O buffer, you can use these special Emacs commands in
|
||||
addition to the standard Shell mode commands:
|
||||
|
||||
@table @kbd
|
||||
@item C-h m
|
||||
Describe the features of Emacs' GDB Mode.
|
||||
|
||||
@item M-s
|
||||
Execute to another source line, like the GDB @samp{step} command.
|
||||
Execute to another source line, like the GDB @samp{step} command; also
|
||||
update the display window to show the current file and location.
|
||||
|
||||
@item M-n
|
||||
Execute to next source line in this function, skipping all function
|
||||
calls, like the GDB @samp{next} command.
|
||||
calls, like the GDB @samp{next} command. Then update the display window
|
||||
to show the current file and location.
|
||||
|
||||
@item M-i
|
||||
Execute one instruction, like the GDB @samp{stepi} command.
|
||||
Execute one instruction, like the GDB @samp{stepi} command; update
|
||||
display window accordingly.
|
||||
|
||||
@item M-x gdb-nexti
|
||||
Execute to next instruction, using the GDB @samp{nexti} command; update
|
||||
display window accordingly.
|
||||
|
||||
@item C-c C-f
|
||||
Execute until exit from the selected stack frame, like the GDB
|
||||
|
@ -4029,6 +4124,28 @@ like the GDB @samp{up} command.@refill
|
|||
@comment C-c C-d in emacs 19
|
||||
Go down the number of frames indicated by the numeric argument, like the
|
||||
GDB @samp{down} command.
|
||||
|
||||
@item C-x &
|
||||
Read the number where the cursor is positioned, and insert it at the end
|
||||
of the GDB I/O buffer. For example, if you wish to disassemble code
|
||||
around an address that was displayed earlier, type @kbd{disassemble};
|
||||
then move the cursor to the address display, and pick up the
|
||||
argument for @samp{disassemble} by typing @kbd{C-x &}.
|
||||
|
||||
You can customize this further on the fly by defining elements of the list
|
||||
@samp{gdb-print-command}; once it is defined, you can format or
|
||||
otherwise process numbers picked up by @kbd{C-x &} before they are
|
||||
inserted. A numeric argument to @kbd{C-x &} will both flag that you
|
||||
wish special formatting, and act as an index to pick an element of the
|
||||
list. If the list element is a string, the number to be inserted is
|
||||
formatted using the Emacs function @samp{format}; otherwise the number
|
||||
is passed as an argument to the corresponding list element.
|
||||
|
||||
@item M-x gdb-display-frame
|
||||
Explicitly request display of the source code surrounding the current
|
||||
frame location, in another window. GDB does this display automatically;
|
||||
but if, for example, you accidentally kill the buffer where it is
|
||||
displayed, this command is a way of getting it back.
|
||||
@end table
|
||||
|
||||
In any source file, the Emacs command @kbd{C-x SPC} (@code{gdb-break})
|
||||
|
|
Loading…
Reference in a new issue