Mirror of the gdb mailing list
 help / color / mirror / Atom feed
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


  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