Add support for FreeBSD/i386 ELF.
[deliverable/binutils-gdb.git] / gdb / doc / gdbgui.texinfo
1 \input texinfo @c -*-texinfo-*-
2 @c Copyright 1988 1989 1990 1991 1992 1993 1994 Free Software Foundation, Inc.
3 @c
4 @c %**start of header
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.
7 @setfilename gdb.info
8 @c
9 @include gdb-cfg.texi
10 @c
11 @ifset GENERIC
12 @settitle Using the Graphical Interface to @value{GDBN}
13 @end ifset
14 @ifclear GENERIC
15 @settitle Using the Graphical Interface to @value{GDBN} (@value{TARGET})
16 @end ifclear
17 @setchapternewpage odd
18 @c %**end of header
19
20 @c Since this interface is so new, there is much missing still.
21 @c Desired but unimplemented features are commented out.
22
23 @iftex
24 @c @smallbook
25 @c @cropmarks
26 @end iftex
27
28 @finalout
29 @syncodeindex ky cp
30
31 @c readline appendices use @vindex
32 @syncodeindex vr cp
33
34 @c !!set GDB manual's edition---not the same as GDB version!
35 @set EDITION 4.13
36
37 @c !!set GDB manual's revision date
38 @set DATE January 1995
39
40 @c THIS MANUAL REQUIRES TEXINFO-2 macros and info-makers to format properly.
41
42 @ifinfo
43 @c This is a dir.info fragment to support semi-automated addition of
44 @c manuals to an info tree. zoo@cygnus.com is developing this facility.
45 @format
46 START-INFO-DIR-ENTRY
47 * Gdb: (gdb). The GNU debugger.
48 END-INFO-DIR-ENTRY
49 @end format
50 @end ifinfo
51 @c
52 @c
53 @ifinfo
54 This file documents the graphical interface to the GNU debugger @value{GDBN}.
55
56
57 This is Edition @value{EDITION}, @value{DATE},
58 of @cite{Using the Graphical Interface to @value{GDBN}}
59 for GDB Version @value{GDBVN}.
60
61 Copyright (C) 1994, 1995 Free Software Foundation, Inc.
62
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.
66
67 @ignore
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).
72
73 @end ignore
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.
78
79 Permission is granted to copy and distribute translations of this manual
80 into another language, under the above conditions for modified versions.
81 @end ifinfo
82
83 @titlepage
84 @title Using the Graphical Interface to @value{GDBN}
85 @subtitle The GNU Source-Level Debugger
86 @ifclear GENERIC
87 @subtitle (@value{TARGET})
88 @end ifclear
89 @sp 1
90 @subtitle Edition @value{EDITION}, for @value{GDBN} version @value{GDBVN}
91 @subtitle @value{DATE}
92 @author Stanley T. Shebs
93 @page
94 @tex
95 {\parskip=0pt
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
100 }
101 @end tex
102
103 @vskip 0pt plus 1filll
104 Copyright @copyright{} 1994, 1995 Free Software Foundation, Inc.
105 @sp 2
106
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.
110
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.
115
116 Permission is granted to copy and distribute translations of this manual
117 into another language, under the above conditions for modified versions.
118 @end titlepage
119 @page
120
121 @ifinfo
122 @node Top
123 @top Using the Graphical Interface to @value{GDBN}
124 @end ifinfo
125
126 This file describes a graphical interface to @value{GDBN},
127 the GNU symbolic debugger.
128
129 @node Invocation
130 @chapter Starting up GUI @value{GDBN}
131
132 If @value{GDBN} has been configured to use the graphical interface,
133 then you will get the interface automatically upon startup.
134
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.
140
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
147 reported.
148
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.
157
158 @section Menus
159
160 @subsection File Menu
161
162 The standard file menu provides operations that affect the overall state
163 of GDB, mainly file operations, but other things as well.
164
165 About GDB...
166
167 Displays the startup window for GDB.
168
169 File...
170
171 Lets you set the combined executable and symbol file that GDB will use.
172 (Like "file".)
173
174 Target...
175
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.
178 (Like "target".)
179
180 Edit...
181
182 Starts up an editor to modify the source file being displayed.
183
184 Exec File...
185
186 Lets you set the executable file that GDB will use.
187 (Like "exec-file".)
188
189 Symbol File...
190
191 Lets you set the symbol file that GDB will use.
192 (Like "symbol-file".)
193
194 Add Symbol File...
195
196 Lets you add additional symbol files.
197 (Like "add-symbol-file".)
198
199 Core File...
200
201 Lets you set the core file that GDB will use.
202 (Like "core-file".)
203
204 Shared Libraries...
205
206 (Like "sharedlibrary".)
207
208 Quit
209
210 quits GDB.
211 (Like @samp{quit}.)
212
213
214 @c @subsection Commands Menu
215
216 @c The commands menu consists of items that let you run and control the program being
217 @c debugged.
218 @c
219 @c Run
220 @c
221 @c Step
222 @c
223 @c Next
224 @c
225 @c Finish
226 @c
227 @c Stepi
228 @c
229 @c Nexti
230
231 @subsection Windows Menu
232
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.
238
239 The second part of the menu lists additional windows that you may have
240 created, such as source windows or variable displays.
241
242 Command
243 ---
244 Source
245 Assembly
246 ---
247 Registers
248 Variables
249 ---
250 Files
251 @c ---
252 @c <extra windows>
253
254 @subsection View Menu
255
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.
261
262 @subsection Help Menu
263
264 The help menu includes access to GDB's online help.
265
266 @section Windows
267
268 @subsection Command Window
269
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.
273
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.
280
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.
285
286 The command window has no status line or button box.
287
288 @subsection Files Window
289
290 The files window lists all of the files that were used to build the
291 executable.
292
293 Clicking on the xxx in the left margin expands/contracts the display of
294 included files and symbols defined by the file.
295
296 The View menu for this window includes the following items:
297 Name/Full Pathname
298 @c Sort by Name
299 @c Sort by Section&Offset
300 @c Show All Included Files
301 @c Included File Indentation...
302
303 @subsection Source Window
304
305 A source window displays a single file of source code.
306
307 The left margin includes an indicator for the current PC, breakpoints and potential breakpoints,
308 and (optionally) line numbers.
309
310 The View menu for this window includes the following items:
311 Show Line Numbers
312 Show Breakdots
313 @c Jump to PC (if pc changes, scroll back so PC is centered)
314 @c Tab... (set tabbing)
315
316 @section Extensions
317
318 [description of gdbtk details]
319
320 @c
321 @c GDBTK Interface Design
322 @c
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.
326 @c
327 @c Default Startup
328 @c
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.
332 @c
333 @c Source Window
334 @c
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".
338 @c
339 @c Be able to toggle assembly interleaved between source.
340 @c
341 @c Command Window
342 @c
343 @c Is an *optional* window.
344 @c
345 @c Behavior mimics command-line GDB running in an Emacs buffer as much
346 @c as possible.
347 @c
348 @c Assembly Window
349 @c
350 @c Be able to toggle source interleaved between assembly.
351 @c
352 @c Target Info Window
353 @c
354 @c Contents similar to "info target".
355 @c
356 @c Should expand into process and thread info also.
357 @c
358 @c File Info Window
359 @c
360 @c Contents similar to "info files".
361 @c
362 @c Include data shown in "info sources" as well as "info files".
363 @c
364 @c Register Info Window
365 @c
366 @c Contents similar to "info registers".
367 @c
368 @c Add view option(s) for classes of registers.
369 @c
370 @c Stack Info Window
371 @c
372 @c Combines backtrace, frame, and local var displays.
373 @c
374 @c Signals Dialog
375 @c
376 @c Includes all signals whose handling may be controlled, plus
377 @c checkboxes for what to do with each.
378 @c
379 @c Settings Dialog(s)
380 @c
381 @c Include all variables that can be "set" and "show"n.
382 @c
383 @c General Principles
384 @c
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.
387 @c
388 @c All windows should have a "view" menu that controls formatting
389 @c options for that window.
390 @c
391 @c Windows should usually be scrollable. Windows that display largish
392 @c horizontal things should be horizontal and vertical scrollbars.
393 @c
394 @c To do standard modification, add commands or tcl code to .gdbtkinit.
395 @c
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.
399
400 @section How to Build
401
402 If GDB is configured with --enable-gdbtk, then upon startup, it will
403 open windows.
404
405 @node Index
406 @unnumbered Index
407
408 @printindex cp
409
410 @contents
411 @bye
This page took 0.037815 seconds and 4 git commands to generate.