Commit | Line | Data |
---|---|---|
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 |
44 | START-INFO-DIR-ENTRY |
45 | * Gdb: (gdb). The GNU debugger. | |
46 | END-INFO-DIR-ENTRY | |
e9c75b65 | 47 | @end direntry |
3fc11d3e JM |
48 | @c |
49 | @c | |
50 | @ifinfo | |
51 | This file documents the graphical interface to the GNU debugger @value{GDBN}. | |
52 | ||
53 | ||
e9c75b65 | 54 | This is Edition @value{EDITION}, @value{DATE}, |
3fc11d3e JM |
55 | of @cite{Using the Graphical Interface to @value{GDBN}} |
56 | for GDB Version @value{GDBVN}. | |
57 | ||
e9c75b65 | 58 | Copyright (C) 1994, 1995, 2001 Free Software Foundation, Inc. |
3fc11d3e | 59 | |
e9c75b65 EZ |
60 | Permission is granted to copy, distribute and/or modify this document |
61 | under the terms of the GNU Free Documentation License, Version 1.1 or | |
62 | any later version published by the Free Software Foundation; with the | |
63 | Invariant Sections being ``Using the Graphical Interface to ``GDB'' and | |
64 | ``Starting up GUI GDB'', with the Front-Cover texts being ``A GNU | |
65 | Manual,'' 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 |
68 | this GNU Manual, like GNU software. Copies published by the Free | |
69 | Software 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 | 93 | Copyright @copyright{} 1994, 1995, 2001 Free Software Foundation, Inc. |
3fc11d3e JM |
94 | @sp 2 |
95 | ||
e9c75b65 EZ |
96 | Permission is granted to copy, distribute and/or modify this document |
97 | under the terms of the GNU Free Documentation License, Version 1.1 or | |
98 | any later version published by the Free Software Foundation; with the | |
99 | Invariant Sections being ``Using the Graphical Interface to ``GDB'' and | |
100 | ``Starting up GUI GDB'', with the Front-Cover texts being ``A GNU | |
101 | Manual,'' 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 |
104 | this GNU Manual, like GNU software. Copies published by the Free | |
105 | Software 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 | ||
114 | This file describes a graphical interface to @value{GDBN}, | |
115 | the GNU symbolic debugger. | |
116 | ||
117 | @node Invocation | |
118 | @chapter Starting up GUI @value{GDBN} | |
119 | ||
120 | If @value{GDBN} has been configured to use the graphical interface, | |
121 | then you will get the interface automatically upon startup. | |
122 | ||
123 | When running as a Unix program and using the X11-based interface, | |
124 | you must of course be using an X server and/or workstation, | |
125 | and your @code{DISPLAY} environment variable must be set correctly. | |
126 | If either of these is not true, then @value{GDBN} will still start up, | |
e9c75b65 | 127 | zbut will use only the traditional command interface. |
3fc11d3e JM |
128 | |
129 | The exact layout and appearance of the windows will depend on the host | |
e9c75b65 EZ |
130 | system type. For instance, @value{GDBN} on MS-Windows will display |
131 | its windows inside a larger window, while on X on a GNU/Linux or a | |
132 | Unix machine, each window is a separate toplevel window. However, | |
133 | general behavior and layout is consistent across all platforms; | |
134 | omissions or restrictions on particular platforms, if not documented | |
135 | as unavoidable, should be considered bugs and reported. | |
136 | ||
137 | All @value{GDBN} windows have a common structure. Each window has an | |
138 | associated menu bar, which may be at the top of the window or perhaps | |
139 | elsewhere. Some of the menus and menu items in the menu bar are | |
140 | common to all @value{GDBN} windows, while others are specific to | |
141 | particular types of windows. Below the menu bar is the working data | |
142 | area of the window. If the data is too large to display all at once, | |
143 | the data area will have scroll bars on its right and bottom sides. | |
144 | Below the data area are two optional features; a status/data line, and | |
145 | a button box. | |
3fc11d3e JM |
146 | |
147 | @section Menus | |
148 | ||
149 | @subsection File Menu | |
150 | ||
151 | The standard file menu provides operations that affect the overall state | |
e9c75b65 | 152 | of @value{GDBN}, mainly file operations, but other things as well. |
3fc11d3e | 153 | |
e9c75b65 EZ |
154 | @table @code |
155 | @item About @value{GDBN}... | |
156 | Displays the startup window for @value{GDBN}. | |
3fc11d3e | 157 | |
e9c75b65 EZ |
158 | @item File... |
159 | Lets you set the combined executable and symbol file that @value{GDBN} | |
160 | will use. (Like the @samp{file} command in the command-line version | |
161 | of @value{GDBN}.) | |
3fc11d3e | 162 | |
e9c75b65 EZ |
163 | @item Target... |
164 | Brings up a dialog that you can use to connect @value{GDBN} to a | |
165 | target program. The dialog is described in more depth later. (Like | |
166 | the @samp{target} command.) | |
3fc11d3e | 167 | |
e9c75b65 | 168 | @item Edit... |
3fc11d3e JM |
169 | Starts up an editor to modify the source file being displayed. |
170 | ||
e9c75b65 EZ |
171 | @item Exec File... |
172 | Lets 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... |
176 | Lets 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 | 180 | Lets you add additional symbol files. |
e9c75b65 | 181 | (Like the @samp{add-symbol-file} command.) |
3fc11d3e | 182 | |
e9c75b65 EZ |
183 | @item Core File... |
184 | Lets 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 |
191 | Quits @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 |
216 | The @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 | |
218 | individual windows. If the window exists already, its item will be | |
219 | marked as such; selecting the item will cause the window to be put in | |
220 | front if it is obscured. If it does not exist, then it will be | |
221 | created. | |
3fc11d3e JM |
222 | |
223 | The second part of the menu lists additional windows that you may have | |
224 | created, such as source windows or variable displays. | |
225 | ||
e9c75b65 | 226 | @display |
3fc11d3e JM |
227 | Command |
228 | --- | |
229 | Source | |
230 | Assembly | |
231 | --- | |
232 | Registers | |
233 | Variables | |
234 | --- | |
235 | Files | |
236 | @c --- | |
237 | @c <extra windows> | |
e9c75b65 | 238 | @end display |
3fc11d3e JM |
239 | |
240 | @subsection View Menu | |
241 | ||
e9c75b65 EZ |
242 | All windows have a @samp{view} menu, but its contents are highly |
243 | specific to window type. For instance, a source window will have a | |
244 | view menu item to control the display of line numbers, but a register | |
245 | window will instead have an option to choose the radix in which to | |
246 | display register contents. You can find the full description of view | |
247 | options with each window type. | |
3fc11d3e JM |
248 | |
249 | @subsection Help Menu | |
250 | ||
e9c75b65 | 251 | The @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 |
257 | The @samp{Command} window provides access to the standard @value{GDBN} |
258 | command interpreter. In nearly all cases, commands typed into this | |
259 | window will behave exactly as for a non-windowing @value{GDBN}. | |
3fc11d3e | 260 | |
e9c75b65 EZ |
261 | Note that not all changes to @value{GDBN} will be reflected in this |
262 | window. For instance, if you were to type a @samp{step} command, then | |
263 | click on the @samp{step} menu item in the source window, then go back, | |
264 | and type another @samp{step} command, the command buffer will only | |
265 | show two steps, when you have actually done three. @value{GDBN} will | |
266 | put a ``@dots'' into the command buffer when operations in other | |
267 | windows 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 | |
274 | The command window has no status line or button box. | |
275 | ||
276 | @subsection Files Window | |
277 | ||
e9c75b65 | 278 | The @samp{Files} window lists all of the files that were used to build the |
3fc11d3e JM |
279 | executable. |
280 | ||
e9c75b65 EZ |
281 | Clicking on the @samp{xxx} in the left margin expands/contracts the |
282 | display of included files and symbols defined by the file. | |
3fc11d3e | 283 | |
e9c75b65 EZ |
284 | The @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 |
296 | A @samp{Source} window displays a single file of source code. |
297 | ||
298 | The left margin includes an indicator for the current PC, breakpoints | |
299 | and potential breakpoints, and (optionally) line numbers. | |
3fc11d3e | 300 | |
e9c75b65 | 301 | The @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 |
396 | If @value{GDBN} is configured with @samp{--enable-gdbtk}, then upon |
397 | startup, it will open windows. | |
3fc11d3e JM |
398 | |
399 | @node Index | |
400 | @unnumbered Index | |
401 | ||
402 | @printindex cp | |
403 | ||
404 | @contents | |
405 | @bye |