comparison man/building.texi @ 60440:c82b8f53ded0

(Starting GUD): Don't explain text vs graphical GDB here. Just mention they exist, and xref. Delete "just one debugger process". (Debugger Operation): Move GUD tooltip info here. (GUD Tooltips): Node deleted. (GDB Graphical Interface): Explain the two GDB modes here.
author Richard M. Stallman <rms@gnu.org>
date Sun, 06 Mar 2005 18:08:00 +0000
parents f69c04fae9ff
children f8557889a5f1
comparison
equal deleted inserted replaced
60439:56ad74aa4129 60440:c82b8f53ded0
323 @menu 323 @menu
324 * Starting GUD:: How to start a debugger subprocess. 324 * Starting GUD:: How to start a debugger subprocess.
325 * Debugger Operation:: Connection between the debugger and source buffers. 325 * Debugger Operation:: Connection between the debugger and source buffers.
326 * Commands of GUD:: Key bindings for common commands. 326 * Commands of GUD:: Key bindings for common commands.
327 * GUD Customization:: Defining your own commands for GUD. 327 * GUD Customization:: Defining your own commands for GUD.
328 * GUD Tooltips:: Showing variable values by pointing with the mouse.
329 * GDB Graphical Interface:: An enhanced mode that uses GDB features to 328 * GDB Graphical Interface:: An enhanced mode that uses GDB features to
330 implement a graphical debugging environment through 329 implement a graphical debugging environment through
331 Emacs. 330 Emacs.
332 @end menu 331 @end menu
333 332
338 to a particular debugger program. 337 to a particular debugger program.
339 338
340 @table @kbd 339 @table @kbd
341 @item M-x gdb @key{RET} @var{file} @key{RET} 340 @item M-x gdb @key{RET} @var{file} @key{RET}
342 @findex gdb 341 @findex gdb
343 Run GDB as a subprocess of Emacs. By default, GDB starts as for 342 Run GDB as a subprocess of Emacs. By default, this operates in
344 @kbd{M-x gdba} below. If you want GDB to start as in Emacs 21.3 and 343 graphical mode; @xref{GDB Graphical Interface}. Graphical mode
345 earlier then edit the string in the minibuffer or set 344 does not support any other debuggers.
346 @code{gud-gdb-command-name} to ``gdb --fullname''. You need to do
347 this if you want to run multiple debugging sessions within one Emacs
348 session. In this case, the command creates a buffer for input and
349 output to GDB, and switches to it. If a GDB buffer already exists, it
350 just switches to that buffer.
351
352 @item M-x gdba @key{RET} @var{file} @key{RET}
353 Run GDB as a subprocess of Emacs, providing a graphical interface
354 to GDB features through Emacs. @xref{GDB Graphical Interface}.
355 345
356 @item M-x dbx @key{RET} @var{file} @key{RET} 346 @item M-x dbx @key{RET} @var{file} @key{RET}
357 @findex dbx 347 @findex dbx
358 Similar, but run DBX instead of GDB. 348 Similar, but run DBX instead of GDB.
359 349
393 the debugger. In the simplest case, specify just the name of the 383 the debugger. In the simplest case, specify just the name of the
394 executable file you want to debug. You may also use options that the 384 executable file you want to debug. You may also use options that the
395 debugger supports. However, shell wildcards and variables are not 385 debugger supports. However, shell wildcards and variables are not
396 allowed. GUD assumes that the first argument not starting with a 386 allowed. GUD assumes that the first argument not starting with a
397 @samp{-} is the executable file name. 387 @samp{-} is the executable file name.
398
399 Emacs can only run one debugger process at a time.
400 388
401 @node Debugger Operation 389 @node Debugger Operation
402 @subsection Debugger Operation 390 @subsection Debugger Operation
403 391
404 @cindex fringes, and current execution line in GUD 392 @cindex fringes, and current execution line in GUD
421 409
422 If you wish, you can control your debugger process entirely through the 410 If you wish, you can control your debugger process entirely through the
423 debugger buffer, which uses a variant of Shell mode. All the usual 411 debugger buffer, which uses a variant of Shell mode. All the usual
424 commands for your debugger are available, and you can use the Shell mode 412 commands for your debugger are available, and you can use the Shell mode
425 history commands to repeat them. @xref{Shell Mode}. 413 history commands to repeat them. @xref{Shell Mode}.
414
415 @cindex tooltips with GUD
416 @vindex tooltip-gud-modes
417 The Tooltip facility (@pxref{Tooltips}) provides support for GUD@.
418 You activate this feature by customizing the @code{tooltip} group.
419 Then you can display a variable's value in a tooltip simply by
420 pointing at it with the mouse. This operates in the GUD buffer and in
421 source buffers with major modes in the list @code{tooltip-gud-modes}.
426 422
427 @node Commands of GUD 423 @node Commands of GUD
428 @subsection Commands of GUD 424 @subsection Commands of GUD
429 425
430 The GUD interaction buffer uses a variant of Shell mode, so the 426 The GUD interaction buffer uses a variant of Shell mode, so the
651 647
652 If you don't use @samp{%p} in the command string, the command you define 648 If you don't use @samp{%p} in the command string, the command you define
653 ignores any numeric argument. 649 ignores any numeric argument.
654 @end table 650 @end table
655 651
656 @node GUD Tooltips
657 @subsection GUD Tooltips
658
659 @cindex tooltips with GUD
660 The Tooltip facility (@pxref{Tooltips}) provides support for GUD@. If
661 GUD support is activated by customizing the @code{tooltip} group,
662 variable values can be displayed in tooltips by pointing at them with
663 the mouse in the GUD buffer or in source buffers with major modes in the
664 customizable list @code{tooltip-gud-modes}.
665
666 @node GDB Graphical Interface 652 @node GDB Graphical Interface
667 @subsection GDB Graphical Interface 653 @subsection GDB Graphical Interface
668 654
669 By default, the command @code{gdb} starts GDB using a graphical 655 By default, the command @code{gdb} starts GDB using a graphical
670 interface where you view and control the program's data using Emacs 656 interface where you view and control the program's data using Emacs
671 windows. You can still interact with GDB through the GUD buffer, but 657 windows. You can still interact with GDB through the GUD buffer, but
672 the point of this mode is that you can do it through menus and clicks, 658 the point of this mode is that you can do it through menus and clicks,
673 without needing to know GDB commands. 659 without needing to know GDB commands.
674 660
661 @vindex gud-gdb-command-name
675 @findex gdba 662 @findex gdba
676 If you have customised @code{gud-gdb-command-name}, then start this 663 You can also run GDB in text command mode, which creates a buffer
677 mode with the command @code{gdba}. 664 for input and output to GDB. To do this, set
665 @code{gud-gdb-command-name} to @code{"gdb --fullname"} or edit the
666 startup command in the minibuffer to say that. You need to do use
667 text command mode to run multiple debugging sessions within one Emacs
668 session. If you have customised @code{gud-gdb-command-name} in that
669 way, then you can use @kbd{M-x gdba} to invoke GDB in graphical mode.
678 670
679 @menu 671 @menu
680 * Layout:: Control the number of displayed buffers. 672 * Layout:: Control the number of displayed buffers.
681 * Breakpoints Buffer:: A breakpoint control panel. 673 * Breakpoints Buffer:: A breakpoint control panel.
682 * Stack Buffer:: Select a frame from the call stack. 674 * Stack Buffer:: Select a frame from the call stack.