## 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.