Previous: GDB/MI Input Syntax, Up: GDB/MI Command 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.
==>
(
out-of-band-record )* [
result-record ] "(gdb)"
nl
==>
[
token ] "^"
result-class ( ","
result )*
nl
==>
|
stream-record
==>
|
status-async-output |
notify-async-output
==>
[
token ] "*"
async-output
==>
[
token ] "+"
async-output
==>
[
token ] "="
async-output
==>
( ","
result )*
nl
==>
"done" | "running" | "connected" | "error" | "exit"
==>
"stopped" |
others (where others will be added
depending on the needs—this is still in development).
==>
"="
value
==>
==>
|
tuple |
list
==>
==>
"{}" | "{"
result ( ","
result )* "}"
==>
"[]" | "["
value ( ","
value )* "]" | "["
result ( ","
result )* "]"
==>
|
target-stream-output |
log-stream-output
==>
"~"
c-string
==>
"@"
c-string
==>
"&"
c-string
==>
CR | CR-LF
==>
Notes:
See gdb/mi Stream Records, for more details about the various output records.