From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8586 invoked by alias); 2 Jan 2005 17:06:09 -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 8496 invoked from network); 2 Jan 2005 17:06:03 -0000 Received: from unknown (HELO wproxy.gmail.com) (64.233.184.198) by sourceware.org with SMTP; 2 Jan 2005 17:06:03 -0000 Received: by wproxy.gmail.com with SMTP id 50so182220wri for ; Sun, 02 Jan 2005 09:06:03 -0800 (PST) Received: by 10.54.26.17 with SMTP id 17mr263066wrz; Sun, 02 Jan 2005 09:06:03 -0800 (PST) Received: by 10.54.32.47 with HTTP; Sun, 2 Jan 2005 09:06:03 -0800 (PST) Message-ID: <6251c7160501020906198ca7c8@mail.gmail.com> Date: Sun, 02 Jan 2005 17:06:00 -0000 From: Thomas Elam Reply-To: Thomas Elam To: gdb@sources.redhat.com Subject: Re: What are the prescribed ways to extend gdb? Examples? In-Reply-To: <6251c71605010208593729d960@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <6251c71605010208593729d960@mail.gmail.com> X-SW-Source: 2005-01/txt/msg00010.txt.bz2 Oops, I should have written `--interpreter', not `-interface'. On Sun, 2 Jan 2005 22:29:06 +0530, Thomas Elam wrote: > What are the currently prescribed ways to extend > gdb? I am interested in adding to gdb: (1) a full > scripting language (not tcl) or (2) a new GUI front-end. > These additions could use the same or different > methods of extending gdb. I *might* want to link my > code in with gdb. I much prefer a machine-oriented > interface to a human-oriented one. > > I have found the following references about extending gdb: > > [1] Section 4.2 of the `GDB Internals' document, > `UI-Independent Output--the ui_out Function': > http://sources.redhat.com/gdb/current/onlinedocs/gdbint_4.html#SEC19 > > [2] Section 24 of the `Debugging with GDB' > document, `The GDB/MI Interface': > http://sources.redhat.com/gdb/current/onlinedocs/gdb_25.html#SEC223 > This is also described in the part of GDB's info page > related to the `-interface' option. > > [3] Section A of the `GDB Internals' document, `GDB > Currently available observers': > http://sources.redhat.com/gdb/current/onlinedocs/gdbint_19.html#SEC188 > > It looks like [2] is the way to go for people > who are not maintainers of gdb. > > Examples? I've found Insight, but I think it links > into gdb and is apparently hard to maintain for that > reason. As far as I know, most or all of the front- > ends to gdb open gdb as a separate process and > parse its human-oriented output, which is not > ideal, with the exception of an interface written by > Moses Dejong. He describes his scripting interface > to gdb in this paper: > http://www.tcl.tk/community/tcl2004/Tcl2003papers/dejong.pdf > Near the end of the paper, he tells where the > Tcl source code for the interface can be found: > http://www.uncounted.org/tcl/gdbmi-0.1.tgz > It uses version 1 of GDB's MI (machine-oriented) > interface. I've tried this Tcl interface with > the Debian package gdb-6.3-5 . It seems to work, > but I have to work with it some more, since I don't > remember much Tcl. > > Any advice for me? >