This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Howdy from Apple; Fix and Continue implemented Yet Again
- From: "Kris Warkentin" <kewarken at qnx dot com>
- To: "Jason Molenda" <jason-swarelist at molenda dot com>, <gdb at sources dot redhat dot com>
- Date: Sat, 28 Jun 2003 09:54:22 -0400
- Subject: Re: Howdy from Apple; Fix and Continue implemented Yet Again
- References: <20030627004003.A6119@molenda.com> <20030627202956.A42704@molenda.com>
That's pretty interesting. Does it require any special os support in the
debug interface or is it all done with dlopen/dlclose, etc.? Other than
compiling your app PIC, does it require any other special compiler features?
cheers,
Kris
----- Original Message -----
From: "Jason Molenda" <jason-swarelist@molenda.com>
To: <gdb@sources.redhat.com>
Sent: Friday, June 27, 2003 11:29 PM
Subject: Re: Howdy from Apple; Fix and Continue implemented Yet Again
> On Fri, Jun 27, 2003 at 12:40:04AM -0700, Jason Molenda wrote:
> `
> > Fix and continue is a feature implemented by many other debuggers,
> > which we added to our gdb for this release.
>
> It was pointed out that I never said what F&C _is_. It's a feature
> for debugging your program, where you can modify your sources
> mid-debug-session, and the debugger will "patch" in the new code.
> At a very high level, the source file you're modifying is built as
> a shared library, gdb executes inferior function calls to load that
> shared library into the program, gdb finds all old versions of all
> functions contained in that shared library and writes trampolines
> in the prologues to jump to the new versions of those functions,
> and gdb redirects all file-static (including global) variables in
> that shared library to point to the statics/globals in the original
> executable.
>
> >From an end user's perspective, they're running their program, they
> see it misbehave or they know it's about to misbehave, but it took
> them fifteen minutes to get to this point -- they don't want to
> restart from the beginning and navigate all the way back here.
> With F&C, they make the source change, patch it in, and continue
> on with their work.
>
> I don't have anything interesting planned this weekend so maybe I'll
> write up a short ditty about how it is implemented in gdb and some
> of the more technical aspects of the feature. I've been doing little
> else since winter, so I've got a pretty good idea of how it all fits
> together. :-)
>
>
> Jason
>