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

Page 308

Advertising
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

Advertising