beautypg.com

2 gdb/mi output syntax – HP gnu source-level debugger 5992-4701 User Manual

Page 308

background image

Notes:

The CLI commands are still handled by the MI interpreter; their output is described
below.

The token, when present, is passed back when the command finishes.

Some MI commands accept optional arguments as part of the parameter list. Each
option is identified by a leading `-' (dash) and may be followed by an optional
argument parameter. Options occur first in the parameter list and can be delimited
from normal parameters using `--' (this is useful when some parameters begin
with a dash).

Pragmatics:

We want easy access to the existing CLI syntax (for debugging).

We want it to be easy to spot a MI operation.

21.1.2 GDB/MI Output syntax

The output from GDB/MI consists of zero or more out-of-band records followed,
optionally, by a single result record. This result record is for the most recent command.
The sequence of output records is terminated by '(gdb)'.

If an input command was prefixed with a token then the corresponding output for that
command will also be prefixed by that same token.

output

( out-of-band-record )* [

result-record ] "(gdb)" nl

result-record  

[ token ] "^" result-class ( ","

result )* nl

out-of-band-record

async-record | stream-record

async-record  

exec-async-output |

status-async-output |

notify-async-output

exec-async-output  

[ token ] "*" async-output

status-async-output  

[ token ] "+" async-output

notify-async-output  

[ token ] "=" async-output

async-output  

async-class ( "," result )* nl

result-class  

"done" | "running" | "connected" |

"error" | "exit"

async-class  

"stopped" | others

(where others will be

added depending on the needs―this is still in
development).

result  

variable "=" value

variable  

string

308

The GDB/MI Interface