Debugging with GDB (February 2008)

Table Of Contents
Chapter 21: The gdb/mi Interface 271
async-output
7→
async-class ( "," result )* nl
result-class
7→
"done" | "running" | "connected" | "error" | "exit"
async-class
7→
"stopped" | others (where others will be added depending on the needs—this
is still in development).
result
7→
variable "=" value
variable
7→
string
value
7→
const | tuple | list
const
7→
c-string
tuple
7→
"{}" | "{" result ( "," result )* "}"
list
7→
"[]" | "[" value ( "," value )* "]" | "[" result ( "," result )* "]"
stream-record
7→
console-stream-output | target-stream-output | log-stream-output
console-stream-output
7→
"~" c-string
target-stream-output
7→
"@" c-string
log-stream-output
7→
"&" c-string
nl
7→
CR | CR-LF
token
7→
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-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 ~’.