From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9016 invoked by alias); 9 Dec 2005 22:08:47 -0000 Received: (qmail 9009 invoked by uid 22791); 9 Dec 2005 22:08:46 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Fri, 09 Dec 2005 22:08:44 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1EkqPw-0006QI-5r; Fri, 09 Dec 2005 17:08:40 -0500 Date: Fri, 09 Dec 2005 22:08:00 -0000 From: Daniel Jacobowitz To: Greg Bronevetsky Cc: gdb@sources.redhat.com Subject: Re: Checkpoint-restart with different code Message-ID: <20051209220840.GA24624@nevyn.them.org> Mail-Followup-To: Greg Bronevetsky , gdb@sources.redhat.com References: <4399FDE5.2020905@bronevetsky.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4399FDE5.2020905@bronevetsky.com> User-Agent: Mutt/1.5.8i 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/msg00109.txt.bz2 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. -- Daniel Jacobowitz CodeSourcery, LLC