<html lang="en">
<head>
<title>GDB/MI Development and Front Ends - 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="GDB_002fMI.html#GDB_002fMI" title="GDB/MI">
<link rel="prev" href="GDB_002fMI-Compatibility-with-CLI.html#GDB_002fMI-Compatibility-with-CLI" title="GDB/MI Compatibility with CLI">
<link rel="next" href="GDB_002fMI-Output-Records.html#GDB_002fMI-Output-Records" title="GDB/MI Output Records">
<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="GDB%2fMI-Development-and-Front-Ends"></a>
<a name="GDB_002fMI-Development-and-Front-Ends"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="GDB_002fMI-Output-Records.html#GDB_002fMI-Output-Records">GDB/MI Output Records</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="GDB_002fMI-Compatibility-with-CLI.html#GDB_002fMI-Compatibility-with-CLI">GDB/MI Compatibility with CLI</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="GDB_002fMI.html#GDB_002fMI">GDB/MI</a>
<hr>
</div>

<h3 class="section">27.4 <span class="sc">gdb/mi</span> Development and Front Ends</h3>

<p><a name="index-g_t_0040sc_007bgdb_002fmi_007d-development-2966"></a>
The application which takes the MI output and presents the state of the
program being debugged to the user is called a <dfn>front end</dfn>.

   <p>Since <span class="sc">gdb/mi</span> is used by a variety of front ends to <span class="sc">gdb</span>, changes
to the MI interface may break existing usage.  This section describes how the
protocol changes and how to request previous version of the protocol when it
does.

   <p>Some changes in MI need not break a carefully designed front end, and
for these the MI version will remain unchanged.  The following is a
list of changes that may occur within one level, so front ends should
parse MI output in a way that can handle them:

     <ul>
<li>New MI commands may be added.

     <li>New fields may be added to the output of any MI command.

     <li>The range of values for fields with specified values, e.g.,
<code>in_scope</code> (see <a href="_002dvar_002dupdate.html#g_t_002dvar_002dupdate">-var-update</a>) may be extended.

     <!-- The format of field's content e.g type prefix, may change so parse it -->
     <!-- at your own risk.  Yes, in general? -->
     <!-- The order of fields may change?  Shouldn't really matter but it might -->
     <!-- resolve inconsistencies. -->
   </ul>

   <p>If the changes are likely to break front ends, the MI version level
will be increased by one.  The new versions of the MI protocol are not compatible
with the old versions.  Old versions of MI remain available, allowing front ends
to keep using them until they are modified to use the latest MI version.

   <p>Since <code>--interpreter=mi</code> always points to the latest MI version, it is
recommended that front ends request a specific version of MI when launching
<span class="sc">gdb</span> (e.g. <code>--interpreter=mi2</code>) to make sure they get an
interpreter with the MI version they expect.

   <p>The following table gives a summary of the the released versions of the MI
interface: the version number, the version of GDB in which it first appeared
and the breaking changes compared to the previous version.

   <p><table summary=""><tr align="left"><th valign="top" width="5%">MI version </th><th valign="top" width="5%">GDB version </th><th valign="top" width="90%">Breaking changes

<p><br></th></tr><tr align="left"><td valign="top" width="5%"><div align="center">1</div>
<p></td><td valign="top" width="5%">
<div align="center">5.1</div>
<p></td><td valign="top" width="90%">
None

<p><br></td></tr><tr align="left"><td valign="top" width="5%"><div align="center">2</div>
<p></td><td valign="top" width="5%">
<div align="center">6.0</div>
<p></td><td valign="top" width="90%">

     <ul>
<li>The <code>-environment-pwd</code>, <code>-environment-directory</code> and
<code>-environment-path</code> commands now returns values using the MI output
syntax, rather than CLI output syntax.

     <li><code>-var-list-children</code>'s <code>children</code> result field is now a list, rather
than a tuple.

     <li><code>-var-update</code>'s <code>changelist</code> result field is now a list, rather than
a tuple. 
</ul>
   <br></td></tr></table>

   <p>The best way to avoid unexpected changes in MI that might break your front
end is to make your project known to <span class="sc">gdb</span> developers and
follow development on <a href="mailto:gdb@sourceware.org">gdb@sourceware.org</a> and
<a href="mailto:gdb-patches@sourceware.org">gdb-patches@sourceware.org</a>. 
<a name="index-mailing-lists-2967"></a>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->

   </body></html>

