Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Ovidiu Predescu <ovidiu@cup.hp.com>
To: "Thompson, James C" <James.C.Thompson@USAHQ.UnitedSpaceAlliance.com>
Cc: gdb@cygnus.com
Subject: Re: problem with chained if statements?
Date: Thu, 01 Apr 1999 00:00:00 -0000	[thread overview]
Message-ID: <199903182302.PAA30442@hpcll563.cup.hp.com> (raw)
In-Reply-To: <FF2855070F62D211910F00805FA7BBFF195B87@USAHOUM8>

On Thu, 18 Mar 1999 15:51:12 -0600, "Thompson, James C" 
<James.C.Thompson@USAHQ.UnitedSpaceAlliance.com> wrote:

> > From: Stan Shebs [ mailto:shebs@cygnus.com ]
> > No consensus.  The tclites push for tcl of course, but that has
> > political problems. Guile would be officially approved of, but no
> > actual hacker seems to care enough to contribute actual changes.
> > Other ideas surface from time to time, but haven't really gone
> > anywhere.  If I was told I could have only one, I would probably
> > go with Guile.
> 
> I recently added guile scripting support to a simulator project I work on,
> and found it fairly easy; we added simple (usually) guile wrappers to each
> function that needed to be available as a guile call.  If the gdb command
> parser is structured so that each major command -- print, where, next, etc.
> -- is bound to a single C function, then adding guile should be
> straightforward.  Of course, you probably wouldn't want to completely
> supplant the current command parser, but to augment it so that the current
> command syntax is still available, with "guile-looking" commands getting
> passed off to guile for evaluation.  This is certainly possible.
> 
> But I think the real power would be to add hooks into gdb at various places
> to which guile scripts can be attached.  Breakpoints, for example: if I
> could tell gdb to run a guile script each time a breakpoint is encountered,
> then I could do "conditional debugging" by letting the script examine the
> inferior program state so that execution pauses only when certain criteria
> are met.  Of course, it's possible to accomplish the same thing by building
> special debug code into the executable, but that's invasive and
> time-consuming -- best case, I have to recompile my program.  The ability to
> set up and change these hooks on the fly would be very nice.
> 
> --JT

Even more interesting would be to add support for more than one scripting
language. This could be achieved very easy with SWIG ( http://www.swig.org ).
This is a free software tool (has a BSD license) that makes easy adding
scripting support to C programs. All you have to do is to write an interface
file describing your internal C functions. SWIG is a compiler that takes this
interface file and generates the glue functions that are could be used directly
from various interpreters, including Perl, Python, TCL and Guile. The only
thing now is to see how to integrate it with the current command line
processing code.

I think such a thing could satisfy most of the people since they will not be
forced to use a scripting language or another to write their extension. One
question though: would its license allow FSF to release the resulting C code
under GPL? Would FSF be happy if gdb suddenly becomes dependent on a tool
that's not owned by them?

Greetings,
Ovidiu




  reply	other threads:[~1999-04-01  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-04-01  0:00 Thompson, James C
1999-04-01  0:00 ` Ovidiu Predescu [this message]
1999-04-01  0:00   ` Stan Shebs
1999-04-01  0:00 ` Todd Whitesel
1999-04-01  0:00 Thompson, James C
1999-04-01  0:00 J.T. Conklin
1999-04-01  0:00 ` Stan Shebs
1999-04-01  0:00   ` J.T. Conklin
1999-04-01  0:00     ` Stan Shebs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199903182302.PAA30442@hpcll563.cup.hp.com \
    --to=ovidiu@cup.hp.com \
    --cc=James.C.Thompson@USAHQ.UnitedSpaceAlliance.com \
    --cc=gdb@cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox