| <html lang="en"> |
| <head> |
| <title>Mode Options - 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="Invoking-GDB.html#Invoking-GDB" title="Invoking GDB"> |
| <link rel="prev" href="File-Options.html#File-Options" title="File Options"> |
| <link rel="next" href="Startup.html#Startup" title="Startup"> |
| <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="Mode-Options"></a> |
| <p> |
| Next: <a rel="next" accesskey="n" href="Startup.html#Startup">Startup</a>, |
| Previous: <a rel="previous" accesskey="p" href="File-Options.html#File-Options">File Options</a>, |
| Up: <a rel="up" accesskey="u" href="Invoking-GDB.html#Invoking-GDB">Invoking GDB</a> |
| <hr> |
| </div> |
| |
| <h4 class="subsection">2.1.2 Choosing Modes</h4> |
| |
| <p>You can run <span class="sc">gdb</span> in various alternative modes—for example, in |
| batch mode or quiet mode. |
| |
| <dl> |
| <a name="g_t_002dnx"></a><dt><code>-nx</code><dt><code>-n</code><dd><a name="index-g_t_0040code_007b_002d_002dnx_007d-26"></a><a name="index-g_t_0040code_007b_002dn_007d-27"></a>Do not execute commands found in any initialization file. |
| There are three init files, loaded in the following order: |
| |
| <dl> |
| <dt><samp><span class="file">system.gdbinit</span></samp><dd>This is the system-wide init file. |
| Its location is specified with the <code>--with-system-gdbinit</code> |
| configure option (see <a href="System_002dwide-configuration.html#System_002dwide-configuration">System-wide configuration</a>). |
| It is loaded first when <span class="sc">gdb</span> starts, before command line options |
| have been processed. |
| <br><dt><samp><span class="file">~/.gdbinit</span></samp><dd>This is the init file in your home directory. |
| It is loaded next, after <samp><span class="file">system.gdbinit</span></samp>, and before |
| command options have been processed. |
| <br><dt><samp><span class="file">./.gdbinit</span></samp><dd>This is the init file in the current directory. |
| It is loaded last, after command line options other than <code>-x</code> and |
| <code>-ex</code> have been processed. Command line options <code>-x</code> and |
| <code>-ex</code> are processed last, after <samp><span class="file">./.gdbinit</span></samp> has been loaded. |
| </dl> |
| |
| <p>For further documentation on startup processing, See <a href="Startup.html#Startup">Startup</a>. |
| For documentation on how to write command files, |
| See <a href="Command-Files.html#Command-Files">Command Files</a>. |
| |
| <p><a name="g_t_002dnh"></a><br><dt><code>-nh</code><dd><a name="index-g_t_0040code_007b_002d_002dnh_007d-28"></a>Do not execute commands found in <samp><span class="file">~/.gdbinit</span></samp>, the init file |
| in your home directory. |
| See <a href="Startup.html#Startup">Startup</a>. |
| |
| <br><dt><code>-quiet</code><dt><code>-silent</code><dt><code>-q</code><dd><a name="index-g_t_0040code_007b_002d_002dquiet_007d-29"></a><a name="index-g_t_0040code_007b_002d_002dsilent_007d-30"></a><a name="index-g_t_0040code_007b_002dq_007d-31"></a>“Quiet”. Do not print the introductory and copyright messages. These |
| messages are also suppressed in batch mode. |
| |
| <br><dt><code>-batch</code><dd><a name="index-g_t_0040code_007b_002d_002dbatch_007d-32"></a>Run in batch mode. Exit with status <code>0</code> after processing all the |
| command files specified with ‘<samp><span class="samp">-x</span></samp>’ (and all commands from |
| initialization files, if not inhibited with ‘<samp><span class="samp">-n</span></samp>’). Exit with |
| nonzero status if an error occurs in executing the <span class="sc">gdb</span> commands |
| in the command files. Batch mode also disables pagination, sets unlimited |
| terminal width and height see <a href="Screen-Size.html#Screen-Size">Screen Size</a>, and acts as if <kbd>set confirm |
| off</kbd> were in effect (see <a href="Messages_002fWarnings.html#Messages_002fWarnings">Messages/Warnings</a>). |
| |
| <p>Batch mode may be useful for running <span class="sc">gdb</span> as a filter, for |
| example to download and run a program on another computer; in order to |
| make this more useful, the message |
| |
| <pre class="smallexample"> Program exited normally. |
| </pre> |
| <p class="noindent">(which is ordinarily issued whenever a program running under |
| <span class="sc">gdb</span> control terminates) is not issued when running in batch |
| mode. |
| |
| <br><dt><code>-batch-silent</code><dd><a name="index-g_t_0040code_007b_002d_002dbatch_002dsilent_007d-33"></a>Run in batch mode exactly like ‘<samp><span class="samp">-batch</span></samp>’, but totally silently. All |
| <span class="sc">gdb</span> output to <code>stdout</code> is prevented (<code>stderr</code> is |
| unaffected). This is much quieter than ‘<samp><span class="samp">-silent</span></samp>’ and would be useless |
| for an interactive session. |
| |
| <p>This is particularly useful when using targets that give ‘<samp><span class="samp">Loading section</span></samp>’ |
| messages, for example. |
| |
| <p>Note that targets that give their output via <span class="sc">gdb</span>, as opposed to |
| writing directly to <code>stdout</code>, will also be made silent. |
| |
| <br><dt><code>-return-child-result</code><dd><a name="index-g_t_0040code_007b_002d_002dreturn_002dchild_002dresult_007d-34"></a>The return code from <span class="sc">gdb</span> will be the return code from the child |
| process (the process being debugged), with the following exceptions: |
| |
| <ul> |
| <li><span class="sc">gdb</span> exits abnormally. E.g., due to an incorrect argument or an |
| internal error. In this case the exit code is the same as it would have been |
| without ‘<samp><span class="samp">-return-child-result</span></samp>’. |
| <li>The user quits with an explicit value. E.g., ‘<samp><span class="samp">quit 1</span></samp>’. |
| <li>The child process never runs, or is not allowed to terminate, in which case |
| the exit code will be -1. |
| </ul> |
| |
| <p>This option is useful in conjunction with ‘<samp><span class="samp">-batch</span></samp>’ or ‘<samp><span class="samp">-batch-silent</span></samp>’, |
| when <span class="sc">gdb</span> is being used as a remote program loader or simulator |
| interface. |
| |
| <br><dt><code>-nowindows</code><dt><code>-nw</code><dd><a name="index-g_t_0040code_007b_002d_002dnowindows_007d-35"></a><a name="index-g_t_0040code_007b_002dnw_007d-36"></a>“No windows”. If <span class="sc">gdb</span> comes with a graphical user interface |
| (GUI) built in, then this option tells <span class="sc">gdb</span> to only use the command-line |
| interface. If no GUI is available, this option has no effect. |
| |
| <br><dt><code>-windows</code><dt><code>-w</code><dd><a name="index-g_t_0040code_007b_002d_002dwindows_007d-37"></a><a name="index-g_t_0040code_007b_002dw_007d-38"></a>If <span class="sc">gdb</span> includes a GUI, then this option requires it to be |
| used if possible. |
| |
| <br><dt><code>-cd </code><var>directory</var><dd><a name="index-g_t_0040code_007b_002d_002dcd_007d-39"></a>Run <span class="sc">gdb</span> using <var>directory</var> as its working directory, |
| instead of the current directory. |
| |
| <br><dt><code>-data-directory </code><var>directory</var><dt><code>-D </code><var>directory</var><dd><a name="index-g_t_0040code_007b_002d_002ddata_002ddirectory_007d-40"></a><a name="index-g_t_0040code_007b_002dD_007d-41"></a>Run <span class="sc">gdb</span> using <var>directory</var> as its data directory. |
| The data directory is where <span class="sc">gdb</span> searches for its |
| auxiliary files. See <a href="Data-Files.html#Data-Files">Data Files</a>. |
| |
| <br><dt><code>-fullname</code><dt><code>-f</code><dd><a name="index-g_t_0040code_007b_002d_002dfullname_007d-42"></a><a name="index-g_t_0040code_007b_002df_007d-43"></a><span class="sc">gnu</span> Emacs sets this option when it runs <span class="sc">gdb</span> as a |
| subprocess. It tells <span class="sc">gdb</span> to output the full file name and line |
| number in a standard, recognizable fashion each time a stack frame is |
| displayed (which includes each time your program stops). This |
| recognizable format looks like two ‘<samp><span class="samp">\032</span></samp>’ characters, followed by |
| the file name, line number and character position separated by colons, |
| and a newline. The Emacs-to-<span class="sc">gdb</span> interface program uses the two |
| ‘<samp><span class="samp">\032</span></samp>’ characters as a signal to display the source code for the |
| frame. |
| |
| <br><dt><code>-annotate </code><var>level</var><dd><a name="index-g_t_0040code_007b_002d_002dannotate_007d-44"></a>This option sets the <dfn>annotation level</dfn> inside <span class="sc">gdb</span>. Its |
| effect is identical to using ‘<samp><span class="samp">set annotate </span><var>level</var></samp>’ |
| (see <a href="Annotations.html#Annotations">Annotations</a>). The annotation <var>level</var> controls how much |
| information <span class="sc">gdb</span> prints together with its prompt, values of |
| expressions, source lines, and other types of output. Level 0 is the |
| normal, level 1 is for use when <span class="sc">gdb</span> is run as a subprocess of |
| <span class="sc">gnu</span> Emacs, level 3 is the maximum annotation suitable for programs |
| that control <span class="sc">gdb</span>, and level 2 has been deprecated. |
| |
| <p>The annotation mechanism has largely been superseded by <span class="sc">gdb/mi</span> |
| (see <a href="GDB_002fMI.html#GDB_002fMI">GDB/MI</a>). |
| |
| <br><dt><code>--args</code><dd><a name="index-g_t_0040code_007b_002d_002dargs_007d-45"></a>Change interpretation of command line so that arguments following the |
| executable file are passed as command line arguments to the inferior. |
| This option stops option processing. |
| |
| <br><dt><code>-baud </code><var>bps</var><dt><code>-b </code><var>bps</var><dd><a name="index-g_t_0040code_007b_002d_002dbaud_007d-46"></a><a name="index-g_t_0040code_007b_002db_007d-47"></a>Set the line speed (baud rate or bits per second) of any serial |
| interface used by <span class="sc">gdb</span> for remote debugging. |
| |
| <br><dt><code>-l </code><var>timeout</var><dd><a name="index-g_t_0040code_007b_002dl_007d-48"></a>Set the timeout (in seconds) of any communication used by <span class="sc">gdb</span> |
| for remote debugging. |
| |
| <br><dt><code>-tty </code><var>device</var><dt><code>-t </code><var>device</var><dd><a name="index-g_t_0040code_007b_002d_002dtty_007d-49"></a><a name="index-g_t_0040code_007b_002dt_007d-50"></a>Run using <var>device</var> for your program's standard input and output. |
| <!-- FIXME: kingdon thinks there is more to -tty. Investigate. --> |
| |
| <!-- resolve the situation of these eventually --> |
| <br><dt><code>-tui</code><dd><a name="index-g_t_0040code_007b_002d_002dtui_007d-51"></a>Activate the <dfn>Text User Interface</dfn> when starting. The Text User |
| Interface manages several text windows on the terminal, showing |
| source, assembly, registers and <span class="sc">gdb</span> command outputs |
| (see <a href="TUI.html#TUI"><span class="sc">gdb</span> Text User Interface</a>). Do not use this |
| option if you run <span class="sc">gdb</span> from Emacs (see <a href="Emacs.html#Emacs">Using <span class="sc">gdb</span> under <span class="sc">gnu</span> Emacs</a>). |
| |
| <br><dt><code>-interpreter </code><var>interp</var><dd><a name="index-g_t_0040code_007b_002d_002dinterpreter_007d-52"></a>Use the interpreter <var>interp</var> for interface with the controlling |
| program or device. This option is meant to be set by programs which |
| communicate with <span class="sc">gdb</span> using it as a back end. |
| See <a href="Interpreters.html#Interpreters">Command Interpreters</a>. |
| |
| <p>‘<samp><span class="samp">--interpreter=mi</span></samp>’ (or ‘<samp><span class="samp">--interpreter=mi2</span></samp>’) causes |
| <span class="sc">gdb</span> to use the <span class="sc">gdb/mi</span><dfn> interface</dfn> (see <a href="GDB_002fMI.html#GDB_002fMI">The <span class="sc">gdb/mi</span> Interface</a>) included since <span class="sc">gdb</span> version 6.0. The |
| previous <span class="sc">gdb/mi</span> interface, included in <span class="sc">gdb</span> version 5.3 and |
| selected with ‘<samp><span class="samp">--interpreter=mi1</span></samp>’, is deprecated. Earlier |
| <span class="sc">gdb/mi</span> interfaces are no longer supported. |
| |
| <br><dt><code>-write</code><dd><a name="index-g_t_0040code_007b_002d_002dwrite_007d-53"></a>Open the executable and core files for both reading and writing. This |
| is equivalent to the ‘<samp><span class="samp">set write on</span></samp>’ command inside <span class="sc">gdb</span> |
| (see <a href="Patching.html#Patching">Patching</a>). |
| |
| <br><dt><code>-statistics</code><dd><a name="index-g_t_0040code_007b_002d_002dstatistics_007d-54"></a>This option causes <span class="sc">gdb</span> to print statistics about time and |
| memory usage after it completes each command and returns to the prompt. |
| |
| <br><dt><code>-version</code><dd><a name="index-g_t_0040code_007b_002d_002dversion_007d-55"></a>This option causes <span class="sc">gdb</span> to print its version number and |
| no-warranty blurb, and exit. |
| |
| <br><dt><code>-configuration</code><dd><a name="index-g_t_0040code_007b_002d_002dconfiguration_007d-56"></a>This option causes <span class="sc">gdb</span> to print details about its build-time |
| configuration parameters, and then exit. These details can be |
| important when reporting <span class="sc">gdb</span> bugs (see <a href="GDB-Bugs.html#GDB-Bugs">GDB Bugs</a>). |
| |
| </dl> |
| |
| </body></html> |
| |