Chapter 27. gdb Annotations

This chapter describes annotations in gdb. Annotations are designed to interface gdb to graphical user interfaces or other similar programs which want to interact with gdb at a relatively high level.

27.1. What is an Annotation?

To produce annotations, start gdb with the -annotate=2 option.

Annotations start with a newline character, two control-z characters, and the name of the annotation. If there is no additional information associated with this annotation, the name of the annotation is followed immediately by a newline. If there is additional information, the name of the annotation is followed by a space, the additional information, and a newline. The additional information cannot contain newline characters.

Any output not beginning with a newline and two control-z characters denotes literal output from gdb. Currently there is no need for gdb to output a newline followed by two control-z characters, but if there was such a need, the annotations could be extended with an escape annotation which means those three characters as output.

A simple example of starting up gdb with annotations is:

$ gdb --annotate=2
GNU GDB 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it
under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty"
for details.
This GDB was configured as "sparc-sun-sunos4.1.3"

^Z^Zpre-prompt
(gdb)
^Z^Zprompt
quit

^Z^Zpost-prompt
$

Here quit is input to gdb; the rest is output from gdb. The three lines beginning ^Z^Z (where ^Z denotes a control-z character) are annotations; the rest is output from gdb.