public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Jason Molenda <jason-swarelist@molenda.com>
To: gdb@sources.redhat.com
Subject: Re: Howdy from Apple; Fix and Continue implemented Yet Again
Date: Sat, 28 Jun 2003 05:32:00 -0000	[thread overview]
Message-ID: <20030627202956.A42704@molenda.com> (raw)
In-Reply-To: <20030627004003.A6119@molenda.com>; from jason-swarelist@molenda.com on Fri, Jun 27, 2003 at 12:40:04AM -0700

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

  reply	other threads:[~2003-06-28  3:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-27  8:13 Jason Molenda
2003-06-28  5:32 ` Jason Molenda [this message]
2003-06-28 14:43   ` Kris Warkentin
2003-06-28 22:35     ` Jason Molenda
2003-07-30 14:57 ` PPC; Was: " Andrew Cagney
2003-07-30 15:10   ` Klee Dienes

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=20030627202956.A42704@molenda.com \
    --to=jason-swarelist@molenda.com \
    --cc=gdb@sources.redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).