26.6. gdb/mi Output Records
26.6.1. gdb/mi Result Records
In addition to a number of out-of-band notifications, the response to a
gdb/mi command includes one of the following result indications:
- "^done" [ "," results ]
The synchronous operation was successful, results are the return
values.
- "^running"
The asynchronous operation was successfully started. The target is
running.
- "^error" "," c-string
The operation failed. The c-string contains the corresponding
error message.
26.6.2. gdb/mi Stream Records
gdb internally maintains a number of output streams: the console, the
target, and the log. The output intended for each of these streams is
funneled through the gdb/mi interface using stream records.
Each stream record begins with a unique prefix character which
identifies its stream (refer to Section 26.4.2 gdb/mi Output Syntax). In addition to the prefix, each stream record contains a
string-output. This is either raw text (with an implicit new
line) or a quoted C string (which does not contain an implicit newline).
- "~" string-output
The console output stream contains text that should be displayed in the
CLI console window. It contains the textual responses to CLI commands.
- "@" string-output
The target output stream contains any textual output from the running
target.
- "&" string-output
The log stream contains debugging messages being produced by gdb's
internals.
26.6.3. gdb/mi Out-of-band Records
Out-of-band records are used to notify the gdb/mi client of
additional changes that have occurred. Those changes can either be a
consequence of gdb/mi (e.g., a breakpoint modified) or a result of
target activity (e.g., target stopped).
The following is a preliminary list of possible out-of-band records.