Checkpoint-restart with different code
Greg Bronevetsky
greg@bronevetsky.com
Sat Dec 10 20:34:00 GMT 2005
Thanks for your help! I've looked around some more and it looks like a
number of debuggers provide some form of this functionality. However,
they all seem to be binary rewriters. Does anybody know of work at the
compiler level? I can imagine that it would be possible to allow for
more flexible editing of the code if it could be recompiled from the source.
--
Greg Bronevetsky
Daniel Jacobowitz wrote:
>On Fri, Dec 09, 2005 at 04:57:57PM -0500, Greg Bronevetsky wrote:
>
>
>>I see that there's been some discussion on this list on checkpointing
>>techniques that may be included in gdb. My research group at Cornell is
>>working on a number of such checkpointers for both sequential and
>>parallel programs and we recently decided to try a more challenging
>>variant of checkpointing where the user can take a checkpoint of their
>>program, modify their source code a bit (add remove stack variables,
>>move function calls around a bit and a few other things) and then resume
>>computation using the modified code. This seems to be very useful for
>>debugging long-running applications since the user would be able to work
>>around the bug without losing a week's or month's worth of results. (can
>>happen in high-performance computing) Similarly, its useful for
>>situations where your execution is in some particularly buggy corner
>>case and you want to keep making modifications and trying them out
>>without having to guide the program's execution back into that corner
>>case after every code change.
>>
>>My question is, has anybody heard of anything that can do this?
>>Obviously, this kind of checkpointing would require compiler support, so
>>gdb wouldn't have done this, but have you heard of any systems/research
>>that has addressed this question? Thanks.
>>
>>
>
>Better: I know at least one production debug environment which supports
>this - Apple's Xcode. The option is called fix-and-continue. I don't
>think they combine it with checkpointing, though, only as an action on
>a running process. It's partly compiler-based and partly in their
>debug environment.
>
>Merging that with Michael's fork-based code would be fairly
>straightforward, I expect.
>
>
>
More information about the Gdb
mailing list