From: Nick Roberts <nickrob@snap.net.nz>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sources.redhat.com
Subject: {PATCH] MI Doco [was Re: CLI and GDB/MI...]
Date: Tue, 30 May 2006 15:59:00 -0000 [thread overview]
Message-ID: <17531.61787.895726.198461@kahikatea.snap.net.nz> (raw)
In-Reply-To: <20060513154631.GA4941@nevyn.them.org>
> > ...We did start to talk about what changes could
> > be made within one level: new commands, extra fields etc which I think we
> > need to document so that developers know what to expect. I think at some
> > stage we should also document our thoughts changing MI level.
>
> I invite you :-)
OK, here's something along these lines. Its a bit incomplete but it might
be good to put something in now, and develop it as our ideas crystallise.
I must say I don't like the term "front end" (or "back end"). It makes
me think of all those Carry On films I watched as a child!
--
Nick http://www.inet.net.nz/~nickrob
*** gdb.texinfo 30 May 2006 18:30:35 +1200 1.332
--- gdb.texinfo 30 May 2006 19:13:48 +1200
***************
*** 17215,17221 ****
in the form of a reference manual.
Note that @sc{gdb/mi} is still under construction, so some of the
! features described below are incomplete and subject to change.
@unnumberedsec Notation and Terminology
--- 17215,17222 ----
in the form of a reference manual.
Note that @sc{gdb/mi} is still under construction, so some of the
! features described below are incomplete and subject to change
! (@pxref{GDB/MI Development and Front Ends, , @sc{gdb/mi} Development and Front Ends}).
@unnumberedsec Notation and Terminology
***************
*** 17246,17259 ****
@heading Dependencies
@end ignore
- @heading Acknowledgments
-
- In alphabetic order: Andrew Cagney, Fernando Nasser, Stan Shebs and
- Elena Zannoni.
-
@menu
* GDB/MI Command Syntax::
* GDB/MI Compatibility with CLI::
* GDB/MI Output Records::
* GDB/MI Command Description Format::
* GDB/MI Breakpoint Table Commands::
--- 17247,17256 ----
@heading Dependencies
@end ignore
@menu
* GDB/MI Command Syntax::
* GDB/MI Compatibility with CLI::
+ * GDB/MI Development and Front Ends::
* GDB/MI Output Records::
* GDB/MI Command Description Format::
* GDB/MI Breakpoint Table Commands::
***************
*** 17571,17576 ****
--- 17568,17624 ----
an un-supported hybrid of @sc{gdb/mi} and CLI output.
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ @node GDB/MI Development and Front Ends
+ @section @sc{gdb/mi} Development and Front Ends
+
+ 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}.
+
+ Although @sc{gdb/mi} is still incomplete, it is currently being used
+ by a variety of front ends to @value{GDBN}. This makes it difficult
+ to introduce new functionality without breaking existing usage. This
+ section tries to minimise the problems by describing how the protocol
+ might change.
+
+ 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:
+
+ @itemize @bullet
+ @item
+ New MI commands may be added.
+
+ @item
+ New fields may be added to the output of any MI command.
+
+ @c The format of field's content e.g type prefix, may change so parse it
+ @c at your own risk. Yes, in general?
+
+ @c The order of fields may change? Shouldn't really matter but it might
+ @c resolve inconsistencies.
+ @end itemize
+
+ If the changes are such that is considered likely that they would
+ necessarily break a front end, the MI version level will be increased
+ by one. This will allow the front end to parse the output according
+ to the MI version. Apart from mi0, new versions of GDB will not
+ support old versions of MI and it will be the responsibility of the
+ front end to work with the new one.
+
+ @c Starting with mi3, add a new command -mi-version that prints the MI
+ @c version?
+
+ The best way to ensure that unexpected changes which break your front
+ end are not made is to make your project known to GDB developers and
+ follow development on @email{gdb@@sources.redhat.com} and
+ @email{gdb-patches@@sources.redhat.com}. There is also the mailing list
+ @email{dmi-discuss@@lists.freestandards.org}, hosted by the Free Standards
+ Group, which has the aim of creating a a more general MI protocol
+ called Debugger Machine Interface (DMI) that will become a standard
+ for all debuggers, not just GDB.
+
+ @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Output Records
@section @sc{gdb/mi} Output Records
next prev parent reply other threads:[~2006-05-30 7:17 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-12 12:44 CLI and GDB/MI documentation patch Nick Roberts
2006-05-12 14:19 ` Eli Zaretskii
2006-05-12 16:42 ` Bob Rossi
2006-05-12 22:14 ` Nick Roberts
2006-05-12 22:19 ` Bob Rossi
2006-05-13 9:13 ` Nick Roberts
2006-05-13 16:04 ` Daniel Jacobowitz
2006-05-30 15:59 ` Nick Roberts [this message]
2006-05-31 1:20 ` {PATCH] MI Doco [was Re: CLI and GDB/MI...] Eli Zaretskii
2006-05-31 3:15 ` Nick Roberts
2006-05-31 13:02 ` Eli Zaretskii
2006-05-31 22:04 ` Nick Roberts
2006-05-31 23:17 ` Daniel Jacobowitz
2006-06-01 7:24 ` Eli Zaretskii
2006-06-01 13:09 ` Daniel Jacobowitz
2006-05-31 15:33 ` Bob Rossi
2006-05-31 22:11 ` Nick Roberts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=17531.61787.895726.198461@kahikatea.snap.net.nz \
--to=nickrob@snap.net.nz \
--cc=drow@false.org \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox