Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Chapter 23. Command Interpreters

gdb supports multiple command interpreters, and some command infrastructure to allow users or user interface writers to switch between interpreters or run commands in other interpreters.

gdb currently supports two command interpreters, the console interpreter (sometimes called the command-line interpreter or cli) and the machine interface interpreter (or gdb/mi). This manual describes both of these interfaces in great detail.

By default, gdb will start with the console interpreter. However, the user may choose to start gdb with another interpreter by specifying the -i or -interpreter startup options. Defined interpreters include:


The traditional console or command-line interpreter. This is the most often used interpreter with gdb. With no interpreter specified at runtime, gdb will use this interpreter.


The newest gdb/mi interface (currently mi2). Used primarily by programs wishing to use gdb as a backend for a debugger GUI or an IDE. For more information, (refer to Chapter 26 The gdb/mi Interface.


The current gdb/mi interface.


The gdb/mi interface included in gdb 5.1, 5.2, and 5.3.

The interpreter being used by gdb may not be dynamically switched at runtime. Although possible, this could lead to a very precarious situation. Consider an IDE using gdb/mi. If a user enters the command "interpreter-set console" in a console view, gdb would switch to using the console interpreter, rendering the IDE inoperable!

Although you may only choose a single interpreter at startup, you may execute commands in any interpreter from the current interpreter using the appropriate command. If you are running the console interpreter, simply use the interpreter-exec command:

interpreter-exec mi "-data-list-register-names"

gdb/mi has a similar command, although it is only available in versions of gdb which support gdb/mi version 2 (or greater).

  Published under the terms of the GNU General Public License Design by Interspire