From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20204 invoked by alias); 10 Dec 2005 20:34:52 -0000 Received: (qmail 20197 invoked by uid 22791); 10 Dec 2005 20:34:51 -0000 X-Spam-Check-By: sourceware.org Received: from bijisan.lojik.net (HELO bijisan.lojik.net) (63.251.19.34) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 10 Dec 2005 20:34:50 +0000 Received: from [127.0.0.1] (bijisan.lojik.net [63.251.19.34]) by bijisan.lojik.net (8.12.6/8.12.6) with ESMTP id jBAKYkTp042452 for ; Sat, 10 Dec 2005 15:34:47 -0500 (EST) (envelope-from greg@bronevetsky.com) Message-ID: <439B3BE7.5040903@bronevetsky.com> Date: Sat, 10 Dec 2005 20:34:00 -0000 From: Greg Bronevetsky User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) MIME-Version: 1.0 CC: gdb@sources.redhat.com Subject: Re: Checkpoint-restart with different code References: <4399FDE5.2020905@bronevetsky.com> <20051209220840.GA24624@nevyn.them.org> In-Reply-To: <20051209220840.GA24624@nevyn.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2005-12/txt/msg00122.txt.bz2 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. > > >