]>
Commit | Line | Data |
---|---|---|
22cb0aa7 SS |
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. [email protected] 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 | |
e0d3ace2 | 99 | \hfill doc\@cygnus.com\par |
22cb0aa7 SS |
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 |