AW: libGDB architecture

Martin Baulig
Tue Aug 31 12:53:00 GMT 1999

[Outgoing mail bounced due a local mailer problem ... trying to
 resent from another host ... sorry if anyone gets this twice] (J.T. Conklin) writes:

> Can you tell me a bit more about your GUILE interface project?  How
> closely do you track snapshots?  Do you make snapshots of your own?
> Does it make sense to fold what you've done into the master GDB
> sources and maintain them there?

Well, I did not make any snapshots yet (btw. how are they done? Running
`make dist' tells me to look at some etc/ directory but I did not find
anything useful there ... ?). The code is in module gdb-guile in the
GNOME CVS Tree (you can for instance use the web interface at to browse it or look at ).

It was my plan to have my work merged into the master GDB sources sometime
in future and maintain it there.

> I use GDB user defined functions extensively, but the limitations of
> the existing command language has made scripts more complicated than
> they should be.  I spent some time last month downloading GUILE with
> a goal of first augmenting the existing command language, then later
> replacing it, and finally replacing some of the C code with scripted
> commands.
> My first idea was to link the interpreter with GDB, have it source a
> initialization script, and create a command that gets the intepreter
> to eval an expression.  At first, the GDB and interpreter would not
> know much about the other 'side', but that would be augmented over
> time.  Unfortunately, when I downloaded GUILE, it wasn't immediately
> obvious where to begin.  For an extension language, it seems to have 
> a high barier to entry.

Currently, I added some commands to gdb:

	guile shell	- Starts a guile interpreter
	guile eval	- Evals rest of line as expression
	guile file	- Evals a file

Also it takes an additional command line argument so you can for instance

	gdb-guile -n --batch --guile-eval \
		'(use-modules (gdb corba)) (gdb-corba-main)'

to start up the corba server. 

Martin Baulig - -

More information about the Gdb mailing list