<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 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." -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Asynchronous and non-stop modes</title>

<meta name="description" content="Debugging with GDB: Asynchronous and non-stop modes">
<meta name="keywords" content="Debugging with GDB: Asynchronous and non-stop modes">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" rel="up" title="GDB/MI General Design">
<link href="Thread-groups.html#Thread-groups" rel="next" title="Thread groups">
<link href="Context-management.html#Context-management" rel="prev" title="Context management">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Asynchronous-and-non_002dstop-modes"></a>
<div class="header">
<p>
Next: <a href="Thread-groups.html#Thread-groups" accesskey="n" rel="next">Thread groups</a>, Previous: <a href="Context-management.html#Context-management" accesskey="p" rel="prev">Context management</a>, Up: <a href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" accesskey="u" rel="up">GDB/MI General Design</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Asynchronous-command-execution-and-non_002dstop-mode"></a>
<h4 class="subsection">27.1.2 Asynchronous command execution and non-stop mode</h4>

<p>On some targets, <small>GDB</small> is capable of processing MI commands
even while the target is running.  This is called <em>asynchronous
command execution</em> (see <a href="Background-Execution.html#Background-Execution">Background Execution</a>).  The frontend may
specify a preferrence for asynchronous execution using the
<code>-gdb-set mi-async 1</code> command, which should be emitted before
either running the executable or attaching to the target.  After the
frontend has started the executable or attached to the target, it can
find if asynchronous execution is enabled using the
<code>-list-target-features</code> command.
</p>
<dl compact="compact">
<dt><code>-gdb-set mi-async on</code></dt>
<dt><code>-gdb-set mi-async off</code></dt>
<dd><p>Set whether MI is in asynchronous mode.
</p>
<p>When <code>off</code>, which is the default, MI execution commands (e.g.,
<code>-exec-continue</code>) are foreground commands, and <small>GDB</small> waits
for the program to stop before processing further commands.
</p>
<p>When <code>on</code>, MI execution commands are background execution
commands (e.g., <code>-exec-continue</code> becomes the equivalent of the
<code>c&amp;</code> CLI command), and so <small>GDB</small> is capable of processing
MI commands even while the target is running.
</p>
</dd>
<dt><code>-gdb-show mi-async</code></dt>
<dd><p>Show whether MI asynchronous mode is enabled.
</p></dd>
</dl>

<p>Note: In <small>GDB</small> version 7.7 and earlier, this option was called
<code>target-async</code> instead of <code>mi-async</code>, and it had the effect
of both putting MI in asynchronous mode and making CLI background
commands possible.  CLI background commands are now always possible
&ldquo;out of the box&rdquo; if the target supports them.  The old spelling is
kept as a deprecated alias for backwards compatibility.
</p>
<p>Even if <small>GDB</small> can accept a command while target is running,
many commands that access the target do not work when the target is
running.  Therefore, asynchronous command execution is most useful
when combined with non-stop mode (see <a href="Non_002dStop-Mode.html#Non_002dStop-Mode">Non-Stop Mode</a>).  Then,
it is possible to examine the state of one thread, while other threads
are running.
</p>
<p>When a given thread is running, MI commands that try to access the
target in the context of that thread may not work, or may work only on
some targets.  In particular, commands that try to operate on thread&rsquo;s
stack will not work, on any target.  Commands that read memory, or
modify breakpoints, may work or not work, depending on the target.  Note
that even commands that operate on global state, such as <code>print</code>,
<code>set</code>, and breakpoint commands, still access the target in the
context of a specific thread,  so frontend should try to find a
stopped thread and perform the operation on that thread (using the
&lsquo;<samp>--thread</samp>&rsquo; option).
</p>
<p>Which commands will work in the context of a running thread is
highly target dependent.  However, the two commands
<code>-exec-interrupt</code>, to stop a thread, and <code>-thread-info</code>,
to find the state of a thread, will always work.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Thread-groups.html#Thread-groups" accesskey="n" rel="next">Thread groups</a>, Previous: <a href="Context-management.html#Context-management" accesskey="p" rel="prev">Context management</a>, Up: <a href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" accesskey="u" rel="up">GDB/MI General Design</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
