#### 27.5.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"` ¶

  This result record is equivalent to ‘`^done`’. Historically, it was output instead of ‘`^done`’ if the command has resumed the target. This behaviour is maintained for backward compatibility, but all frontends should treat ‘`^done`’ and ‘`^running`’ identically and rely on the ‘`*running`’ output record to determine which threads are resumed.

`"^connected"` ¶

  GDB has connected to a remote target.

`"^error" "," "msg=" c-string [ "," "code=" c-string ]` ¶

  The operation failed. The `msg=c-string` variable contains the corresponding error message.

  If present, the `code=c-string` variable provides an error code on which consumers can rely on to detect the corresponding error condition. At present, only one error code is defined:

  ‘`"undefined-command"`’

    Indicates that the command causing the error does not exist.

`"^exit"` ¶

  GDB has terminated.