This is the mail archive of the
mailing list for the GDB project.
Re: [Various] obsoleting the annotate level 2 interface
- From: Nick Roberts <nick at nick dot uklinux dot net>
- To: Elena Zannoni <ezannoni at redhat dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Sat, 1 Feb 2003 16:13:30 +0000
- Subject: Re: [Various] obsoleting the annotate level 2 interface
- References: <firstname.lastname@example.org><email@example.com><3E3AE629.firstname.lastname@example.org><email@example.com><firstname.lastname@example.org>
Elena Zannoni writes:
> Sorry, I am a bit behind in the history, didn't emacs always have an
> interface to gdb?
This is my understanding of events. I've gleaned the information from the
internet and I'm using my memory so it may not be entirely accurate.
In the beginning, there was gud.el, started in 1992 by Eric Raymond. This used
`gdb -fullname', now rather grandly called, annotations level 1. It just puts
out one annotation, though, saying where it is each time execution stops. Then
annotations level 2 came along, which had many more annotations. Tom Lord and
Jim Kingdon wrote gdba.el (1994?) `to demonstrate how to build a windowed GUI
over GDB using an Emacs-style framework' (Tom's words). This was a derivative
of gud.el and, in my opinion, a significant improvement. For some reason it
didn't make its way into the Emacs community. I don't know if many GDB users
became aware of it because it was only distributed with the source code for
I first came across the code in gud.el in XEmacs. It appears that someone
attempted to (unsucessfully) port it there. XEmacs actually uses `M-x gdb' as
defined in another file (gdb.el). Eli Zaretskii told me that this code came
from gdba.el and I was surprised to find that it had been deleted from the GDB
distribution. Eli explained that this was because annotations were now
deprecated. He also urged me to use GDB/MI and is now being proved right. It
didn't seem complete, at the time, and couldn't provide the command line
interface, so I clung to annotations as I felt I could make that work.
Anyway we have to move forward now and, hopefully, I've learnt a lot in the
process that will help with an MI implentation.
> I am now curious, where can i get a copy of gdb-ui.el?
Its in the Emacs repository (http://savannah.gnu.org/projects/emacs). It uses
some recently defined lisp functions so it really needs to be run on an emacs
built from there.
Take a look at http://www.nick.uklinux.net/newscreenshot.png for an early
The commentary says:
;; This mode acts as a graphical user interface to GDB. You can interact with
;; GDB through the GUD buffer in the usual way, but there are also further
;; buffers which control the execution and describe the state of your program.
;; It separates the input/output of your program from that of GDB and displays
;; expressions and their current values in their own buffers. It also uses
;; features of Emacs 21 such as the display margin for breakpoints, and the
I think it works better with gdb than gud.el but, although it may be
grand, there is nothing unified about it i.e it doesn't work with dbx, pdb
etc (GUD stands for Grand Unified Debugger). The toolbar might look familiar as
most of the icons come from Insight.
> ... make sure you do things as publically as you can,
> otherwise you may be stuck out on a limb, if the design is not
> accepted by the community. It also would help in case somebody else
> wants to become involved and help you. I have had my share of problems
> in the past, for not doing things publically in the first place, I
> ended up having to redo work, in a few occasions.
This sounds like good advice.