1 \input texinfo @c -*-texinfo-*-
2 @c Copyright 1988 1989 1990 1991 1992 1993 1994 Free Software Foundation, Inc.
5 @c makeinfo ignores cmds prev to setfilename, so its arg cannot make use
6 @c of @set vars. However, you can override filename with makeinfo -o.
12 @settitle Using the Graphical Interface to @value{GDBN}
15 @settitle Using the Graphical Interface to @value{GDBN} (@value{TARGET})
17 @setchapternewpage odd
20 @c Since this interface is so new, there is much missing still.
21 @c Desired but unimplemented features are commented out.
31 @c readline appendices use @vindex
34 @c !!set GDB manual's edition---not the same as GDB version!
37 @c !!set GDB manual's revision date
38 @set DATE January 1995
40 @c THIS MANUAL REQUIRES TEXINFO-2 macros and info-makers to format properly.
43 @c This is a dir.info fragment to support semi-automated addition of
47 * Gdb: (gdb). The GNU debugger.
54 This file documents the graphical interface to the GNU debugger @value{GDBN}.
57 This is Edition @value{EDITION}, @value{DATE},
58 of @cite{Using the Graphical Interface to @value{GDBN}}
59 for GDB Version @value{GDBVN}.
61 Copyright (C) 1994, 1995 Free Software Foundation, Inc.
63 Permission is granted to make and distribute verbatim copies of
64 this manual provided the copyright notice and this permission notice
65 are preserved on all copies.
68 Permission is granted to process this file through TeX and print the
69 results, provided the printed document carries copying permission
70 notice identical to this one except for the removal of this paragraph
71 (this paragraph not being relevant to the printed manual).
74 Permission is granted to copy and distribute modified versions of this
75 manual under the conditions for verbatim copying, provided also that the
76 entire resulting derived work is distributed under the terms of a
77 permission notice identical to this one.
79 Permission is granted to copy and distribute translations of this manual
80 into another language, under the above conditions for modified versions.
84 @title Using the Graphical Interface to @value{GDBN}
85 @subtitle The GNU Source-Level Debugger
87 @subtitle (@value{TARGET})
90 @subtitle Edition @value{EDITION}, for @value{GDBN} version @value{GDBVN}
91 @subtitle @value{DATE}
92 @author Stanley T. Shebs
96 \hfill (Send bugs and comments on @value{GDBN} to bug-gdb\@prep.ai.mit.edu.)\par
97 \hfill {\it Debugging with @value{GDBN}}\par
98 \hfill \TeX{}info \texinfoversion\par
99 \hfill doc\@cygnus.com\par
103 @vskip 0pt plus 1filll
104 Copyright @copyright{} 1994, 1995 Free Software Foundation, Inc.
107 Permission is granted to make and distribute verbatim copies of
108 this manual provided the copyright notice and this permission notice
109 are preserved on all copies.
111 Permission is granted to copy and distribute modified versions of this
112 manual under the conditions for verbatim copying, provided also that the
113 entire resulting derived work is distributed under the terms of a
114 permission notice identical to this one.
116 Permission is granted to copy and distribute translations of this manual
117 into another language, under the above conditions for modified versions.
123 @top Using the Graphical Interface to @value{GDBN}
126 This file describes a graphical interface to @value{GDBN},
127 the GNU symbolic debugger.
130 @chapter Starting up GUI @value{GDBN}
132 If @value{GDBN} has been configured to use the graphical interface,
133 then you will get the interface automatically upon startup.
135 When running as a Unix program and using the X11-based interface,
136 you must of course be using an X server and/or workstation,
137 and your @code{DISPLAY} environment variable must be set correctly.
138 If either of these is not true, then @value{GDBN} will still start up,
139 but will use only the traditional command interface.
141 The exact layout and appearance of the windows will depend on the host
142 system type. For instance, GDB under Windows will display its windows
143 inside a larger window, while under Unix/X, each window is a separate
144 toplevel window. However, general behavior and layout is consistent
145 across all platforms; omissions or restrictions on particular platforms,
146 if not documented as unavoidable, should be considered bugs and
149 All GDB windows have a common structure. Each window has an associated
150 menu bar, which may be at the top of the window or perhaps elsewhere.
151 Some of the menus and menu items in the menu bar are common to all GDB
152 windows, while others are specific to particular types of windows.
153 Below the menu bar is the working data area of the window. If the data
154 is too large to display all at once, the data area will have scroll bars
155 on its right and bottom sides. Below the data area are two optional
156 features; a status/data line, and a button box.
160 @subsection File Menu
162 The standard file menu provides operations that affect the overall state
163 of GDB, mainly file operations, but other things as well.
167 Displays the startup window for GDB.
171 Lets you set the combined executable and symbol file that GDB will use.
176 Brings up a dialog that you can use to connect GDB to a target program.
177 The dialog is described in more depth later.
182 Starts up an editor to modify the source file being displayed.
186 Lets you set the executable file that GDB will use.
191 Lets you set the symbol file that GDB will use.
192 (Like "symbol-file".)
196 Lets you add additional symbol files.
197 (Like "add-symbol-file".)
201 Lets you set the core file that GDB will use.
206 (Like "sharedlibrary".)
214 @c @subsection Commands Menu
216 @c The commands menu consists of items that let you run and control the program being
231 @subsection Windows Menu
233 The windows menu allows access to all the windows available in GDB.
234 The first part of the menu lists all of the predefined individual windows.
235 If the window exists already, its item will be marked as such;
236 selecting the item will cause the window to be put in front if it is
237 obscured. If it does not exist, then it will be created.
239 The second part of the menu lists additional windows that you may have
240 created, such as source windows or variable displays.
254 @subsection View Menu
256 All windows have a view menu, but its contents are highly specific to
257 window type. For instance, a source window will have a view menu item
258 to control the display of line numbers, but a register window will instead
259 have an option to choose the radix in which to display register contents.
260 You can find the full description of view options with each window type.
262 @subsection Help Menu
264 The help menu includes access to GDB's online help.
268 @subsection Command Window
270 The command window provides access to the standard GDB command
271 interpreter. In nearly all cases, commands typed into this window
272 will behave exactly as for a non-windowing GDB.
274 Note that not all changes to GDB will be reflected in this window. For instance,
275 if you were to type a "step" command, then click on the "step" menu item in
276 the source window, then go back, and type another "step" command, the command
277 buffer will only show two steps, when you have actually done three. GDB will
278 put a "..." into the command buffer when operations in other windows are done,
279 as a reminder that the command buffer is incomplete.
281 @c Also note that as a side effect of having the interface and possibly an
282 @c associated scripting language built in, additional commands may be
283 @c available. For instance, if tcl is in GDB, the command ``tcl <tcl code>''
284 @c will be available.
286 The command window has no status line or button box.
288 @subsection Files Window
290 The files window lists all of the files that were used to build the
293 Clicking on the xxx in the left margin expands/contracts the display of
294 included files and symbols defined by the file.
296 The View menu for this window includes the following items:
299 @c Sort by Section&Offset
300 @c Show All Included Files
301 @c Included File Indentation...
303 @subsection Source Window
305 A source window displays a single file of source code.
307 The left margin includes an indicator for the current PC, breakpoints and potential breakpoints,
308 and (optionally) line numbers.
310 The View menu for this window includes the following items:
313 @c Jump to PC (if pc changes, scroll back so PC is centered)
314 @c Tab... (set tabbing)
318 [description of gdbtk details]
321 @c GDBTK Interface Design
323 @c This is the working document describing the design of the GDBTK
324 @c interface. Note that overall layout applies only to the default setup;
325 @c it is expected that debugger users will be able to customize extensively.
329 @c One source window, shows source as in "list main", does *not* set a
330 @c break at main or run or anything. No current PC indicator, only put
331 @c in when something runs.
335 @c For native, "run" button is always the same, for cross, it's actually
336 @c a "target" button that pops up appropriate dialog to get connected.
337 @c Once remote target is active, change button to "run".
339 @c Be able to toggle assembly interleaved between source.
343 @c Is an *optional* window.
345 @c Behavior mimics command-line GDB running in an Emacs buffer as much
350 @c Be able to toggle source interleaved between assembly.
352 @c Target Info Window
354 @c Contents similar to "info target".
356 @c Should expand into process and thread info also.
360 @c Contents similar to "info files".
362 @c Include data shown in "info sources" as well as "info files".
364 @c Register Info Window
366 @c Contents similar to "info registers".
368 @c Add view option(s) for classes of registers.
372 @c Combines backtrace, frame, and local var displays.
376 @c Includes all signals whose handling may be controlled, plus
377 @c checkboxes for what to do with each.
379 @c Settings Dialog(s)
381 @c Include all variables that can be "set" and "show"n.
383 @c General Principles
385 @c All windows should have a menu that allows access to other windows.
386 @c Selection of item either brings up for first time or brings to front.
388 @c All windows should have a "view" menu that controls formatting
389 @c options for that window.
391 @c Windows should usually be scrollable. Windows that display largish
392 @c horizontal things should be horizontal and vertical scrollbars.
394 @c To do standard modification, add commands or tcl code to .gdbtkinit.
396 @c Be able to record window positions so they come up in the same way
397 @c the next time. Could scribble on .gdbtkinit perhaps, or else an
398 @c aux file that can be sourced by .gdbtkinit.
400 @section How to Build
402 If GDB is configured with --enable-gdbtk, then upon startup, it will