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.
In addition, the following are still being developed:
query
This action is currently undefined.
Notes:
All output sequences end in a single line containing a period.
The token is from the corresponding request. If an execution
command is interrupted by the `-exec-interrupt' command, the
token associated with the `*stopped' message is the one of the
original execution command, not the one of the interrupt-command.
status-async-output contains on-going status information about the
progress of a slow operation. It can be discarded. All status output is
prefixed by `+'.
exec-async-output contains asynchronous state change on the target
(stopped, started, disappeared). All async output is prefixed by
`*'.
notify-async-output contains supplementary information that the
client should handle (e.g., a new breakpoint information). All notify
output is prefixed by `='.
console-stream-output is output that should be displayed as is in the
console. It is the textual response to a CLI command. All the console
output is prefixed by `~'.
target-stream-output is the output produced by the target program.
All the target output is prefixed by `@'.
log-stream-output is output text coming from GDB's internals, for
instance messages that should be displayed as part of an error log. All
the log output is prefixed by `&'.
See section GDB/MI Stream Records, for more
details about the various output records.