This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] plugin/extension interface


On 12/2/05, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> I really doubt that.  Short term it'd only increase the load since we
> have to build the plug-in interface.  Long term, we still have to
> maintain that interface.  We'll also get lots of support questions
> where the problems are really with the third party plugins, but where
> the bug reporter conveniently forgets to mention that he's using a
> third party plugin.  Let's keep people out of our address space if
> they don't want to commit themselves to providing sources and manpower
> to maintain those sources.

I don't think you're seeing the potential here.  There are a *lot* of
things people would like to do with debuggers: it's one of the best
fields for productive creeping featurism you can imagine.  Writ broad,
a debugger is a program for watching your program run.  That's open to
so much application-specific interpretation it's actually hard to
imagine how generic code (like GDB) would even be useful, if you
haven't seen it in action.

In other words, if the plug-ins had enough hooks to customize GDB's
behavior (printing values, or decoding the stack, say), I think you'd
be really surprised what people would do with it.  They'd do tons of
stuff that we'd never want to include in the core distribution, but
which would add enormous value to GDB for their problems.  And of
course, there would be a few that we'd want to incorporate.

To take another tack: plug-ins were vital to Apache's success.  Why
wouldn't they have the same effect on GDB?

The only qualification I'd make here is that GDB's current internal
organization isn't very friendly to this kind of stuff.  A plug-in
interface that could engender the kind of stuff I'm describing would
have to be pretty clean, high-level, and documented.  I could
certainly see the argument that it's too much work to bring things to
the point where they could bring about the benefits.

... Okay, another qualification is that a well-integrated scripting
language might do everything I'm saying here, and better, because the
extension/core interface is more well-defined.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]