* gdbint.texinfo (Host Definition): Remove description of
[deliverable/binutils-gdb.git] / gdb / doc / gdbgui.texinfo
CommitLineData
3fc11d3e 1\input texinfo @c -*-texinfo-*-
e9c75b65 2@c Copyright 1994, 1995, 2001 Free Software Foundation, Inc.
3fc11d3e 3@c
e9c75b65 4@c %**start of header
3fc11d3e
JM
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!
e9c75b65 35@set EDITION 4.14
3fc11d3e
JM
36
37@c !!set GDB manual's revision date
e9c75b65 38@set DATE April 2001
3fc11d3e
JM
39
40@c THIS MANUAL REQUIRES TEXINFO-2 macros and info-makers to format properly.
41
e9c75b65
EZ
42@dircategory Programming & development tools
43@direntry
3fc11d3e
JM
44START-INFO-DIR-ENTRY
45* Gdb: (gdb). The GNU debugger.
46END-INFO-DIR-ENTRY
e9c75b65 47@end direntry
3fc11d3e
JM
48@c
49@c
50@ifinfo
51This file documents the graphical interface to the GNU debugger @value{GDBN}.
52
53
e9c75b65 54This is Edition @value{EDITION}, @value{DATE},
3fc11d3e
JM
55of @cite{Using the Graphical Interface to @value{GDBN}}
56for GDB Version @value{GDBVN}.
57
e9c75b65 58Copyright (C) 1994, 1995, 2001 Free Software Foundation, Inc.
3fc11d3e 59
e9c75b65
EZ
60Permission is granted to copy, distribute and/or modify this document
61under the terms of the GNU Free Documentation License, Version 1.1 or
62any later version published by the Free Software Foundation; with the
63Invariant Sections being ``Using the Graphical Interface to ``GDB'' and
64``Starting up GUI GDB'', with the Front-Cover texts being ``A GNU
65Manual,'' and with the Back-Cover Texts as in (a) below.
3fc11d3e 66
e9c75b65
EZ
67(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
68this GNU Manual, like GNU software. Copies published by the Free
69Software Foundation raise funds for GNU development.''
3fc11d3e
JM
70@end ifinfo
71
72@titlepage
73@title Using the Graphical Interface to @value{GDBN}
74@subtitle The GNU Source-Level Debugger
75@ifclear GENERIC
76@subtitle (@value{TARGET})
77@end ifclear
78@sp 1
79@subtitle Edition @value{EDITION}, for @value{GDBN} version @value{GDBVN}
80@subtitle @value{DATE}
e9c75b65 81@author Stanley T.@: Shebs
3fc11d3e
JM
82@page
83@tex
84{\parskip=0pt
e9c75b65 85\hfill (Send bugs and comments on @value{GDBN} to bug-gdb\@gnu.org.)\par
3fc11d3e
JM
86\hfill {\it Debugging with @value{GDBN}}\par
87\hfill \TeX{}info \texinfoversion\par
88\hfill doc\@cygnus.com\par
89}
90@end tex
91
92@vskip 0pt plus 1filll
e9c75b65 93Copyright @copyright{} 1994, 1995, 2001 Free Software Foundation, Inc.
3fc11d3e
JM
94@sp 2
95
e9c75b65
EZ
96Permission is granted to copy, distribute and/or modify this document
97under the terms of the GNU Free Documentation License, Version 1.1 or
98any later version published by the Free Software Foundation; with the
99Invariant Sections being ``Using the Graphical Interface to ``GDB'' and
100``Starting up GUI GDB'', with the Front-Cover texts being ``A GNU
101Manual,'' and with the Back-Cover Texts as in (a) below.
3fc11d3e 102
e9c75b65
EZ
103(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
104this GNU Manual, like GNU software. Copies published by the Free
105Software Foundation raise funds for GNU development.''
3fc11d3e
JM
106@end titlepage
107@page
108
109@ifinfo
110@node Top
111@top Using the Graphical Interface to @value{GDBN}
112@end ifinfo
113
114This file describes a graphical interface to @value{GDBN},
115the GNU symbolic debugger.
116
117@node Invocation
118@chapter Starting up GUI @value{GDBN}
119
120If @value{GDBN} has been configured to use the graphical interface,
121then you will get the interface automatically upon startup.
122
123When running as a Unix program and using the X11-based interface,
124you must of course be using an X server and/or workstation,
125and your @code{DISPLAY} environment variable must be set correctly.
126If either of these is not true, then @value{GDBN} will still start up,
e9c75b65 127zbut will use only the traditional command interface.
3fc11d3e
JM
128
129The exact layout and appearance of the windows will depend on the host
e9c75b65
EZ
130system type. For instance, @value{GDBN} on MS-Windows will display
131its windows inside a larger window, while on X on a GNU/Linux or a
132Unix machine, each window is a separate toplevel window. However,
133general behavior and layout is consistent across all platforms;
134omissions or restrictions on particular platforms, if not documented
135as unavoidable, should be considered bugs and reported.
136
137All @value{GDBN} windows have a common structure. Each window has an
138associated menu bar, which may be at the top of the window or perhaps
139elsewhere. Some of the menus and menu items in the menu bar are
140common to all @value{GDBN} windows, while others are specific to
141particular types of windows. Below the menu bar is the working data
142area of the window. If the data is too large to display all at once,
143the data area will have scroll bars on its right and bottom sides.
144Below the data area are two optional features; a status/data line, and
145a button box.
3fc11d3e
JM
146
147@section Menus
148
149@subsection File Menu
150
151The standard file menu provides operations that affect the overall state
e9c75b65 152of @value{GDBN}, mainly file operations, but other things as well.
3fc11d3e 153
e9c75b65
EZ
154@table @code
155@item About @value{GDBN}...
156Displays the startup window for @value{GDBN}.
3fc11d3e 157
e9c75b65
EZ
158@item File...
159Lets you set the combined executable and symbol file that @value{GDBN}
160will use. (Like the @samp{file} command in the command-line version
161of @value{GDBN}.)
3fc11d3e 162
e9c75b65
EZ
163@item Target...
164Brings up a dialog that you can use to connect @value{GDBN} to a
165target program. The dialog is described in more depth later. (Like
166the @samp{target} command.)
3fc11d3e 167
e9c75b65 168@item Edit...
3fc11d3e
JM
169Starts up an editor to modify the source file being displayed.
170
e9c75b65
EZ
171@item Exec File...
172Lets you set the executable file that @value{GDBN} will use.
173(Like the @samp{exec-file} command.)
3fc11d3e 174
e9c75b65
EZ
175@item Symbol File...
176Lets you set the symbol file that @value{GDBN} will use.
177(Like the @samp{symbol-file} command.)
3fc11d3e 178
e9c75b65 179@item Add Symbol File...
3fc11d3e 180Lets you add additional symbol files.
e9c75b65 181(Like the @samp{add-symbol-file} command.)
3fc11d3e 182
e9c75b65
EZ
183@item Core File...
184Lets you set the core file that @value{GDBN} will use.
185(Like the @samp{core-file} command.)
3fc11d3e 186
e9c75b65
EZ
187@item Shared Libraries...
188(Like the @samp{sharedlibrary} command.)
3fc11d3e 189
e9c75b65
EZ
190@item Quit
191Quits @value{GDBN}.
192(Like the @samp{quit} command.)
193@end table
3fc11d3e
JM
194
195
196@c @subsection Commands Menu
197
198@c The commands menu consists of items that let you run and control the program being
199@c debugged.
200@c
e9c75b65
EZ
201@c @table @code
202@c @item Run
3fc11d3e 203@c
e9c75b65 204@c @item Step
3fc11d3e 205@c
e9c75b65 206@c @item Next
3fc11d3e 207@c
e9c75b65 208@c @item Finish
3fc11d3e 209@c
e9c75b65 210@c @item Stepi
3fc11d3e 211@c
e9c75b65 212@c @item Nexti
3fc11d3e
JM
213
214@subsection Windows Menu
215
e9c75b65
EZ
216The @samp{Windows} menu allows access to all the windows available in
217@value{GDBN}. The first part of the menu lists all of the predefined
218individual windows. If the window exists already, its item will be
219marked as such; selecting the item will cause the window to be put in
220front if it is obscured. If it does not exist, then it will be
221created.
3fc11d3e
JM
222
223The second part of the menu lists additional windows that you may have
224created, such as source windows or variable displays.
225
e9c75b65 226@display
3fc11d3e
JM
227Command
228---
229Source
230Assembly
231---
232Registers
233Variables
234---
235Files
236@c ---
237@c <extra windows>
e9c75b65 238@end display
3fc11d3e
JM
239
240@subsection View Menu
241
e9c75b65
EZ
242All windows have a @samp{view} menu, but its contents are highly
243specific to window type. For instance, a source window will have a
244view menu item to control the display of line numbers, but a register
245window will instead have an option to choose the radix in which to
246display register contents. You can find the full description of view
247options with each window type.
3fc11d3e
JM
248
249@subsection Help Menu
250
e9c75b65 251The @samp{Help} menu includes access to @value{GDBN}'s online help.
3fc11d3e
JM
252
253@section Windows
254
255@subsection Command Window
256
e9c75b65
EZ
257The @samp{Command} window provides access to the standard @value{GDBN}
258command interpreter. In nearly all cases, commands typed into this
259window will behave exactly as for a non-windowing @value{GDBN}.
3fc11d3e 260
e9c75b65
EZ
261Note that not all changes to @value{GDBN} will be reflected in this
262window. For instance, if you were to type a @samp{step} command, then
263click on the @samp{step} menu item in the source window, then go back,
264and type another @samp{step} command, the command buffer will only
265show two steps, when you have actually done three. @value{GDBN} will
266put a ``@dots'' into the command buffer when operations in other
267windows are done, as a reminder that the command buffer is incomplete.
3fc11d3e
JM
268
269@c Also note that as a side effect of having the interface and possibly an
270@c associated scripting language built in, additional commands may be
e9c75b65
EZ
271@c available. For instance, if tcl is in @value{GDBN}, the command
272@c ``tcl <tcl code>'' will be available.
3fc11d3e
JM
273
274The command window has no status line or button box.
275
276@subsection Files Window
277
e9c75b65 278The @samp{Files} window lists all of the files that were used to build the
3fc11d3e
JM
279executable.
280
e9c75b65
EZ
281Clicking on the @samp{xxx} in the left margin expands/contracts the
282display of included files and symbols defined by the file.
3fc11d3e 283
e9c75b65
EZ
284The @samp{View} menu for this window includes the following items:
285
286@table @code
287@item Name/Full Pathname
288@c @item Sort by Name
289@c @item Sort by Section&Offset
290@c @item Show All Included Files
291@c @item Included File Indentation...
292@end table
3fc11d3e
JM
293
294@subsection Source Window
295
e9c75b65
EZ
296A @samp{Source} window displays a single file of source code.
297
298The left margin includes an indicator for the current PC, breakpoints
299and potential breakpoints, and (optionally) line numbers.
3fc11d3e 300
e9c75b65 301The @samp{View} menu for this window includes the following items:
3fc11d3e 302
e9c75b65
EZ
303@table @code
304@item Show Line Numbers
305@item Show Breakdots
306@c @item Jump to PC (if pc changes, scroll back so PC is centered)
307@c @item Tab... (set tabbing)
308@end table
3fc11d3e
JM
309
310@section Extensions
311
312[description of gdbtk details]
313
314@c
315@c GDBTK Interface Design
316@c
317@c This is the working document describing the design of the GDBTK
318@c interface. Note that overall layout applies only to the default setup;
319@c it is expected that debugger users will be able to customize extensively.
320@c
321@c Default Startup
322@c
323@c One source window, shows source as in "list main", does *not* set a
324@c break at main or run or anything. No current PC indicator, only put
325@c in when something runs.
326@c
327@c Source Window
328@c
329@c For native, "run" button is always the same, for cross, it's actually
330@c a "target" button that pops up appropriate dialog to get connected.
331@c Once remote target is active, change button to "run".
332@c
333@c Be able to toggle assembly interleaved between source.
334@c
335@c Command Window
336@c
337@c Is an *optional* window.
338@c
e9c75b65 339@c Behavior mimics command-line @value{GDBN} running in an Emacs buffer as much
3fc11d3e
JM
340@c as possible.
341@c
342@c Assembly Window
343@c
344@c Be able to toggle source interleaved between assembly.
345@c
346@c Target Info Window
347@c
348@c Contents similar to "info target".
349@c
350@c Should expand into process and thread info also.
351@c
352@c File Info Window
353@c
354@c Contents similar to "info files".
355@c
356@c Include data shown in "info sources" as well as "info files".
357@c
358@c Register Info Window
359@c
360@c Contents similar to "info registers".
361@c
362@c Add view option(s) for classes of registers.
363@c
364@c Stack Info Window
365@c
366@c Combines backtrace, frame, and local var displays.
367@c
368@c Signals Dialog
369@c
370@c Includes all signals whose handling may be controlled, plus
371@c checkboxes for what to do with each.
372@c
373@c Settings Dialog(s)
374@c
375@c Include all variables that can be "set" and "show"n.
376@c
377@c General Principles
378@c
379@c All windows should have a menu that allows access to other windows.
380@c Selection of item either brings up for first time or brings to front.
381@c
382@c All windows should have a "view" menu that controls formatting
383@c options for that window.
384@c
385@c Windows should usually be scrollable. Windows that display largish
386@c horizontal things should be horizontal and vertical scrollbars.
387@c
388@c To do standard modification, add commands or tcl code to .gdbtkinit.
389@c
390@c Be able to record window positions so they come up in the same way
391@c the next time. Could scribble on .gdbtkinit perhaps, or else an
392@c aux file that can be sourced by .gdbtkinit.
393
394@section How to Build
395
e9c75b65
EZ
396If @value{GDBN} is configured with @samp{--enable-gdbtk}, then upon
397startup, it will open windows.
3fc11d3e
JM
398
399@node Index
400@unnumbered Index
401
402@printindex cp
403
404@contents
405@bye
This page took 0.112529 seconds and 4 git commands to generate.