From: Jim Ingham <jingham@apple.com>
To: tromey@redhat.com
Cc: gdb@sourceware.org
Subject: Re: GDB Focus Group at the 2008 GCC Summit
Date: Mon, 23 Jun 2008 17:35:00 -0000 [thread overview]
Message-ID: <A64B4CD6-EABC-4D6F-9569-A1E6F516C8B5@apple.com> (raw)
In-Reply-To: <m3iqw018r1.fsf@fleche.redhat.com>
The actual mechanism was not that hard to work from the gdb side, you
just need the fix bundle and what it is replacing. The part the IDE
was most useful for was coordinating building the new fix bundle
appropriately, and remembering what it was replacing.
From what I remember, there were two things that were a real pain
(though Jason can tell in more detail...)
One was the part where you try to validate that the change you are
about to make is safe (for instance you aren't changing the size of a
structure, etc...) You don't need to do this, but it seems really
unfriendly to let people do stuff that you know is going to cause
their program to crash, so we felt it was a necessary part of a
complete implementation. This is not particularly hard, but it is
tedious. There's a bunch of that in our version that might be useful.
The other really painful part is figuring out how to play nice with
the various runtimes that you're adding methods into. I don't
remember all the details, but we had to add hacks to both the C++ and
the ObjC runtimes to make them like doing surgery on classes on the
fly. That's hard because you have to coordinate it with the system
runtime libraries. It was also the most fragile part.
We still have some people who use fix and continue but IMHO it was
never really worth the effort, given how fragile it ended up being.
Jim
On Jun 23, 2008, at 8:17 AM, Tom Tromey wrote:
>>>>>> "Nick" == Nick Roberts <nickrob@snap.net.nz> writes:
>
>>> | * Fix and continue:
>>> |
>>> | Perhaps try to implement this feature through the use of
>>> Python.
>>> | For instance, use python to build a return value, and return
>>> that.
>
> Nick> Apple GDB already has fix and continue. Couldn't that be used
> Nick> as a reference implementaton?
>
> I didn't take notes on this, but apparently fix-and-continue is kind
> of a pain to implement, and AFAICS needs IDE integration to work
> properly anyhow. The Python idea is more of a cute hack than a really
> serious thing.
>
> Tom
next prev parent reply other threads:[~2008-06-23 17:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-19 19:10 Joel Brobecker
2008-06-22 6:08 ` Thiago Jung Bauermann
2008-06-22 11:52 ` Nick Roberts
2008-06-22 13:53 ` Joel Brobecker
2008-06-23 15:17 ` Tom Tromey
2008-06-23 17:35 ` Jim Ingham [this message]
2008-06-23 21:55 ` Nick Roberts
2008-06-23 15:16 ` Tom Tromey
2008-06-26 0:24 ` Tom Tromey
2008-07-03 3:27 ` Thiago Jung Bauermann
2008-07-03 8:12 ` Andreas Schwab
2008-07-03 12:35 ` Daniel Jacobowitz
2008-07-03 14:28 ` Thiago Jung Bauermann
2008-07-04 2:33 ` Tom Tromey
2008-07-04 3:19 ` Daniel Jacobowitz
2008-06-23 21:46 ` Jason Molenda
2008-06-23 22:22 ` Nick Roberts
2008-06-24 21:18 ` Nick Roberts
2008-06-25 6:56 ` [MI] changing breakpoint location (Was: GDB Focus Group at the 2008 GCC Summit) Vladimir Prus
2008-06-23 22:09 ` GDB Focus Group at the 2008 GCC Summit Mark Kettenis
2008-06-23 22:26 ` Joel Brobecker
2008-06-24 8:35 ` Andrew STUBBS
2008-06-24 8:56 ` Andreas Schwab
2008-06-24 18:12 ` Michael Snyder
2008-06-24 18:28 ` Daniel Jacobowitz
2008-06-24 19:33 ` Dave Korn
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=A64B4CD6-EABC-4D6F-9569-A1E6F516C8B5@apple.com \
--to=jingham@apple.com \
--cc=gdb@sourceware.org \
--cc=tromey@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