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

target-stream-output

"@" c-string

log-stream-output

"&" c-string

nl

CR CR-LF

token

any sequence of digits.

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-outputcontains on-going status information about the progress of a slow operation. It can be discarded. All status output is prefixed by '+'.

exec-async-outputcontains asynchronous state change on the target (stopped, started, disappeared). All async output is prefixed by '*'.

notify-async-outputcontains supplementary information that the client should handle (for example, a new breakpoint information). All notify output is prefixed by '='.

console-stream-outputis 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-outputis the output produced by the target program. All the target output is prefixed by '@'.

log-stream-outputis 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 '&'.

New GDB/MI commands should only output lists containing values.

See GDB/MI stream records” (page 311), for more details about the various output records.

21.1 GDB/MI Command Syntax 309