summaryrefslogtreecommitdiff
path: root/doc/emacs/building.texi
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-02-02 20:49:15 +0200
committerEli Zaretskii <eliz@gnu.org>2023-02-02 20:49:15 +0200
commite8334781c9ffcf29a56a6eaf449f58d5b18c148a (patch)
treed5814f94d3f59b2cc46bb8d58bd61d4119fe641d /doc/emacs/building.texi
parentc4988840598b7da84b25d21a1936ce1ab6f6d666 (diff)
downloademacs-e8334781c9ffcf29a56a6eaf449f58d5b18c148a.tar.gz
emacs-e8334781c9ffcf29a56a6eaf449f58d5b18c148a.tar.bz2
emacs-e8334781c9ffcf29a56a6eaf449f58d5b18c148a.zip
Improve documentation of gdb-mi's dedicated windows
* doc/emacs/building.texi (Other GDB Buffers): Describe the I/O buffer and commands to show individual specialized windows. Improve indexing.
Diffstat (limited to 'doc/emacs/building.texi')
-rw-r--r--doc/emacs/building.texi46
1 files changed, 32 insertions, 14 deletions
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index 98f67ddd9d9..3f6a418de1a 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -961,9 +961,7 @@ the fringe of a source buffer to set a breakpoint there.
@vindex gud-gdb-command-name
To run GDB using just the GUD interaction buffer interface, without
these additional features, use @kbd{M-x gud-gdb} (@pxref{Starting
-GUD}). You must use this if you want to debug multiple programs
-within one Emacs session, as that is currently unsupported by @kbd{M-x
-gdb}.
+GUD}).
Internally, @kbd{M-x gdb} informs GDB that its screen size is
unlimited; for correct operation, you must not change GDB's screen
@@ -1051,9 +1049,9 @@ to restore only when @code{gdb-show-main} is non-@code{nil}.
You may also specify additional GDB-related buffers to display,
either in the same frame or a different one. Select the buffers you
want by typing @kbd{M-x gdb-display-@var{buffertype}-buffer} or
-@kbd{M-x gdb-frame-@var{buffertype}-buffer}, where @var{buffertype}
-is the relevant buffer type, such as @samp{breakpoints}. You can do
-the same with the menu bar, with the @samp{GDB-Windows} and
+@kbd{M-x gdb-frame-@var{buffertype}-buffer}, where @var{buffertype} is
+the relevant buffer type, such as @samp{breakpoints} or @samp{io}.
+You can do the same from the menu bar, with the @samp{GDB-Windows} and
@samp{GDB-Frames} sub-menus of the @samp{GUD} menu.
@vindex gdb-max-source-window-count
@@ -1273,10 +1271,14 @@ non-@code{nil} value.
@node Other GDB Buffers
@subsubsection Other GDB Buffers
+Other buffers provided by @kbd{M-x gdb} whose display you can
+optionally request include:
+
@table @asis
+@findex gdb-display-locals-buffer
@item Locals Buffer
This buffer displays the values of local variables of the current
-frame for simple data types (@pxref{Frame Info, Frame Info,
+stack frame for simple data types (@pxref{Frame Info, Frame Info,
Information on a frame, gdb, The GNU debugger}). Press @key{RET} or
click @kbd{mouse-2} on the value if you want to edit it.
@@ -1286,20 +1288,35 @@ you can examine the value of the local variable at point by typing
GDB, use @key{RET} or @kbd{mouse-2} on the type description
(@samp{[struct/union]} or @samp{[array]}). @xref{Watch Expressions}.
+To display the Locals buffer, type @kbd{M-x gdb-display-locals-buffer}.
+
+@findex gdb-display-io-buffer
+@item I/O Buffer
+If the program you are debugging uses standard input and output
+streams for interaction with the user, or emits a significant amount
+of output to its standard output, you may wish to separate its I/O
+from interaction with GDB. Use the command @w{@kbd{M-x
+gdb-display-io-buffer}} to show a window with a buffer to which Emacs
+redirects the input and output from the program you are debugging.
+
+@findex gdb-display-registers-buffer
@item Registers Buffer
-@findex toggle-gdb-all-registers
This buffer displays the values held by the registers
-(@pxref{Registers,,, gdb, The GNU debugger}). Press @key{RET} or
-click @kbd{mouse-2} on a register if you want to edit its value. With
-GDB 6.4 or later, recently changed register values display with
-@code{font-lock-warning-face}.
+(@pxref{Registers,,, gdb, The GNU debugger}). Request the display of
+this buffer with the command @kbd{M-x gdb-display-registers-buffer}.
+Press @key{RET} or click @kbd{mouse-2} on a register if you want to
+edit its value. With GDB 6.4 or later, recently changed register
+values display with @code{font-lock-warning-face}.
+@findex gdb-display-disassembly-buffer
@item Assembler Buffer
The assembler buffer displays the current frame as machine code. An
arrow points to the current instruction, and you can set and remove
breakpoints as in a source buffer. Breakpoint icons also appear in
-the fringe or margin.
+the fringe or margin. To request the display of this buffer, use
+@kbd{M-x gdb-display-disassembly-buffer}.
+@findex gdb-display-memory-buffer
@item Memory Buffer
The memory buffer lets you examine sections of program memory
(@pxref{Memory, Memory, Examining memory, gdb, The GNU debugger}).
@@ -1307,7 +1324,8 @@ Click @kbd{mouse-1} on the appropriate part of the header line to
change the starting address or number of data items that the buffer
displays. Alternatively, use @kbd{S} or @kbd{N} respectively. Click
@kbd{mouse-3} on the header line to select the display format or unit
-size for these data items.
+size for these data items. Use @w{@kbd{M-x
+gdb-display-memory-buffer}} to request display of this buffer.
@end table
When @code{gdb-many-windows} is non-@code{nil}, the locals buffer