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.

"*" "stop"

stop