Next: Source Buffers, Up: GDB Graphical Interface [Contents][Index]

#### 27.6.5.1 GDB User Interface Layout

If the variable `gdb-many-windows` is `nil` (the default), `M-x gdb` normally displays only the GUD interaction buffer. However, if the variable `gdb-show-main` is also non-`nil`, it starts with two windows: one displaying the GUD interaction buffer, and the other showing the source for the `main` function of the program you are debugging.

If `gdb-many-windows` is non-`nil`, then `M-x gdb` displays the following frame layout:

    +--------------------------------+--------------------------------+
    |   GUD interaction buffer       |   Locals/Registers buffer      |
    |--------------------------------+--------------------------------+
    |   Primary Source buffer        |   I/O buffer for debugged pgm  |
    |--------------------------------+--------------------------------+
    |   Stack buffer                 |   Breakpoints/Threads buffer   |
    +--------------------------------+--------------------------------+

If you ever change the window layout, you can restore the many-windows layout by typing `M-x gdb-restore-windows`. To toggle between the many windows layout and a simple layout with just the GUD interaction buffer and a source file, type `M-x gdb-many-windows`.

You may also specify additional GDB-related buffers to display, either in the same frame or a different one. Select the buffers you want by typing `M-x gdb-display-buffertype-buffer` or `M-x gdb-frame-buffertype-buffer`, where buffertype is the relevant buffer type, such as ‘`breakpoints`’. You can do the same with the menu bar, with the ‘`GDB-Windows`’ and ‘`GDB-Frames`’ sub-menus of the ‘`GUD`’ menu.

When you finish debugging, kill the GUD interaction buffer with `C-x k`, which will also kill all the buffers associated with the session. However you need not do this if, after editing and re-compiling your source code within Emacs, you wish to continue debugging. When you restart execution, GDB automatically finds the new executable. Keeping the GUD interaction buffer has the advantage of keeping the shell history as well as GDB’s breakpoints. You do need to check that the breakpoints in recently edited source files are still in the right places.

Next: Source Buffers, Up: GDB Graphical Interface [Contents][Index]