From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5510 invoked by alias); 1 Feb 2003 16:16:45 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 5383 invoked from network); 1 Feb 2003 16:16:43 -0000 Received: from unknown (HELO nick.uklinux.net) (194.247.48.144) by 172.16.49.205 with SMTP; 1 Feb 2003 16:16:43 -0000 Received: by nick.uklinux.net (Postfix, from userid 501) id E58AC76037; Sat, 1 Feb 2003 16:13:30 +0000 (GMT) From: Nick Roberts Message-ID: <15931.61994.598932.151002@nick.uklinux.net> Date: Sat, 01 Feb 2003 16:16:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Elena Zannoni Cc: gdb@sources.redhat.com Subject: Re: [Various] obsoleting the annotate level 2 interface In-Reply-To: <15931.8581.923838.921739@localhost.redhat.com> References: <15930.55387.208309.948761@nick.uklinux.net> <15930.58372.75272.21296@localhost.redhat.com> <3E3AE629.3080104@redhat.com> <15931.6572.456534.588251@nick.uklinux.net> <15931.8581.923838.921739@localhost.redhat.com> X-SW-Source: 2003-02/txt/msg00010.txt.bz2 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 GDB (?). 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 screenshot. 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 ;; toolbar. 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. Nick