## 27 The gdb/mi Interface

### Function and Purpose

gdb/mi is a line based machine oriented text interface to gdb and is activated by specifying using the `--interpreter` command line option (see Mode Options). It is specifically intended to support the development of systems which use the debugger as just one small component of a larger system.

This chapter is a specification of the gdb/mi interface. It is written in the form of a reference manual.

Note that gdb/mi is still under construction, so some of the features described below are incomplete and subject to change (see gdb/mi Development and Front Ends).

### Notation and Terminology

This chapter uses the following notation:

- `|` separates two alternatives.
- `[` something`]` indicates that something is optional: it may or may not be given.
- `(` group`)*` means that group inside the parentheses may repeat zero or more times.
- `(` group`)+` means that group inside the parentheses may repeat one or more times.
- `"`string`"` means a literal string.