<html lang="en">
<head>
<title>TUI Commands - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="TUI.html#TUI" title="TUI">
<link rel="prev" href="TUI-Single-Key-Mode.html#TUI-Single-Key-Mode" title="TUI Single Key Mode">
<link rel="next" href="TUI-Configuration.html#TUI-Configuration" title="TUI Configuration">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="TUI-Commands"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="TUI-Configuration.html#TUI-Configuration">TUI Configuration</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="TUI-Single-Key-Mode.html#TUI-Single-Key-Mode">TUI Single Key Mode</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="TUI.html#TUI">TUI</a>
<hr>
</div>

<h3 class="section">25.4 TUI-specific Commands</h3>

<p><a name="index-TUI-commands-2932"></a>
The TUI has specific commands to control the text windows. 
These commands are always available, even when <span class="sc">gdb</span> is not in
the TUI mode.  When <span class="sc">gdb</span> is in the standard mode, most
of these commands will automatically switch to the TUI mode.

   <p>Note that if <span class="sc">gdb</span>'s <code>stdout</code> is not connected to a
terminal, or <span class="sc">gdb</span> has been started with the machine interface
interpreter (see <a href="GDB_002fMI.html#GDB_002fMI">The <span class="sc">gdb/mi</span> Interface</a>), most of
these commands will fail with an error, because it would not be
possible or desirable to enable curses window management.

     <dl>
<dt><code>tui enable</code><dd><a name="index-tui-enable-2933"></a>Activate TUI mode.  The last active TUI window layout will be used if
TUI mode has prevsiouly been used in the current debugging session,
otherwise a default layout is used.

     <br><dt><code>tui disable</code><dd><a name="index-tui-disable-2934"></a>Disable TUI mode, returning to the console interpreter.

     <br><dt><code>info win</code><dd><a name="index-info-win-2935"></a>List and give the size of all displayed windows.

     <br><dt><code>layout </code><var>name</var><dd><a name="index-layout-2936"></a>Changes which TUI windows are displayed.  In each layout the command
window is always displayed, the <var>name</var> parameter controls which
additional windows are displayed, and can be any of the following:

          <dl>
<dt><code>next</code><dd>Display the next layout.

          <br><dt><code>prev</code><dd>Display the previous layout.

          <br><dt><code>src</code><dd>Display the source and command windows.

          <br><dt><code>asm</code><dd>Display the assembly and command windows.

          <br><dt><code>split</code><dd>Display the source, assembly, and command windows.

          <br><dt><code>regs</code><dd>When in <code>src</code> layout display the register, source, and command
windows.  When in <code>asm</code> or <code>split</code> layout display the
register, assembler, and command windows. 
</dl>

     <br><dt><code>focus </code><var>name</var><dd><a name="index-focus-2937"></a>Changes which TUI window is currently active for scrolling.  The
<var>name</var> parameter can be any of the following:

          <dl>
<dt><code>next</code><dd>Make the next window active for scrolling.

          <br><dt><code>prev</code><dd>Make the previous window active for scrolling.

          <br><dt><code>src</code><dd>Make the source window active for scrolling.

          <br><dt><code>asm</code><dd>Make the assembly window active for scrolling.

          <br><dt><code>regs</code><dd>Make the register window active for scrolling.

          <br><dt><code>cmd</code><dd>Make the command window active for scrolling. 
</dl>

     <br><dt><code>refresh</code><dd><a name="index-refresh-2938"></a>Refresh the screen.  This is similar to typing <kbd>C-L</kbd>.

     <br><dt><code>tui reg </code><var>group</var><dd><a name="index-tui-reg-2939"></a>Changes the register group displayed in the tui register window to
<var>group</var>.  If the register window is not currently displayed this
command will cause the register window to be displayed.  The list of
register groups, as well as their order is target specific. The
following groups are available on most targets:
          <dl>
<dt><code>next</code><dd>Repeatedly selecting this group will cause the display to cycle
through all of the available register groups.

          <br><dt><code>prev</code><dd>Repeatedly selecting this group will cause the display to cycle
through all of the available register groups in the reverse order to
<var>next</var>.

          <br><dt><code>general</code><dd>Display the general registers. 
<br><dt><code>float</code><dd>Display the floating point registers. 
<br><dt><code>system</code><dd>Display the system registers. 
<br><dt><code>vector</code><dd>Display the vector registers. 
<br><dt><code>all</code><dd>Display all registers. 
</dl>

     <br><dt><code>update</code><dd><a name="index-update-2940"></a>Update the source window and the current execution point.

     <br><dt><code>winheight </code><var>name</var><code> +</code><var>count</var><dt><code>winheight </code><var>name</var><code> -</code><var>count</var><dd><a name="index-winheight-2941"></a>Change the height of the window <var>name</var> by <var>count</var>
lines.  Positive counts increase the height, while negative counts
decrease it.  The <var>name</var> parameter can be one of <code>src</code> (the
source window), <code>cmd</code> (the command window), <code>asm</code> (the
disassembly window), or <code>regs</code> (the register display window). 
</dl>

   </body></html>

