Previous: , Up: GDB/MI Command Syntax   [Contents][Index]


27.2.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 nl

status-async-output →

[ token ] "+" async-output nl

notify-async-output →

[ token ] "=" async-output nl

async-output →

async-class ( "," result )*

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

value →

const | tuple | list

const →

c-string

tuple →

"{}" | "{" result ( "," result )* "}"

list →

"[]" | "[" value ( "," value )* "]" | "[" result ( "," result )* "]"

stream-record →

console-stream-output | target-stream-output | log-stream-output

console-stream-output →

"~" c-string nl

target-stream-output →

"@" c-string nl

log-stream-output →

"&" c-string nl

nl →

CR | CR-LF

token →

any sequence of digits.

Notes:

See GDB/MI Stream Records, for more details about the various output records.


Previous: , Up: GDB/MI Command Syntax   [Contents][Index]