manpagez: man pages & more
info gdb
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

23. Using No value for GDBN under GNU Emacs

A special interface allows you to use GNU Emacs to view (and edit) the source files for the program you are debugging with No value for GDBN.

To use this interface, use the command M-x gdb in Emacs. Give the executable file you want to debug as an argument. This command starts No value for GDBN as a subprocess of Emacs, with input and output through a newly created Emacs buffer.

Running No value for GDBN under Emacs can be just like running No value for GDBN normally except for two things:

We call this text command mode. Emacs 22.1, and later, also uses a graphical mode, enabled by default, which provides further buffers that can control the execution and describe the state of your program. See (Emacs)GDB Graphical Interface section `GDB Graphical Interface' in The GNU Emacs Manual.

If you specify an absolute file name when prompted for the M-x gdb argument, then Emacs sets your current working directory to where your program resides. If you only specify the file name, then Emacs sets your current working directory to to the directory associated with the previous buffer. In this case, No value for GDBN may find your program by searching your environment's PATH variable, but on some operating systems it might not find the source. So, although the No value for GDBN input and output session proceeds normally, the auxiliary buffer does not display the current source and line of execution.

The initial working directory of No value for GDBN is printed on the top line of the GUD buffer and this serves as a default for the commands that specify files for No value for GDBN to operate on. See section Commands to Specify Files.

By default, M-x gdb calls the program called ‘gdb’. If you need to call No value for GDBN by a different name (for example, if you keep several configurations around, with different names) you can customize the Emacs variable gud-gdb-command-name to run the one you want.

In the GUD buffer, you can use these special Emacs commands in addition to the standard Shell mode commands:

C-h m

Describe the features of Emacs' GUD Mode.

C-c C-s

Execute to another source line, like the No value for GDBN step command; also update the display window to show the current file and location.

C-c C-n

Execute to next source line in this function, skipping all function calls, like the No value for GDBN next command. Then update the display window to show the current file and location.

C-c C-i

Execute one instruction, like the No value for GDBN stepi command; update display window accordingly.

C-c C-f

Execute until exit from the selected stack frame, like the No value for GDBN finish command.

C-c C-r

Continue execution of your program, like the No value for GDBN continue command.

C-c <

Go up the number of frames indicated by the numeric argument (see (Emacs)Arguments section `Numeric Arguments' in The GNU Emacs Manual), like the No value for GDBN up command.

C-c >

Go down the number of frames indicated by the numeric argument, like the No value for GDBN down command.

In any source file, the Emacs command C-x <SPC> (gud-break) tells No value for GDBN to set a breakpoint on the source line point is on.

In text command mode, if you type M-x speedbar, Emacs displays a separate frame which shows a backtrace when the GUD buffer is current. Move point to any frame in the stack and type <RET> to make it become the current frame and display the associated source in the source buffer. Alternatively, click Mouse-2 to make the selected frame become the current one. In graphical mode, the speedbar displays watch expressions.

If you accidentally delete the source-display buffer, an easy way to get it back is to type the command f in the No value for GDBN buffer, to request a frame display; when you run under Emacs, this recreates the source buffer if necessary to show you the context of the current frame.

The source files displayed in Emacs are in ordinary Emacs buffers which are visiting the source files in the usual way. You can edit the files with these buffers if you wish; but keep in mind that No value for GDBN communicates with Emacs in terms of line numbers. If you add or delete lines from the text, the line numbers that No value for GDBN knows cease to correspond properly with the code.

A more detailed description of Emacs' interaction with No value for GDBN is given in the Emacs manual (see (Emacs)Debuggers section `Debuggers' in The GNU Emacs Manual).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.