From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8303 invoked by alias); 23 May 2005 19:39:07 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 8280 invoked by uid 22791); 23 May 2005 19:39:02 -0000 Received: from erizo.shearer.org (HELO shearer.org) (210.10.97.33) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Mon, 23 May 2005 19:39:02 +0000 Received: from localhost ([127.0.0.1]:34177 helo=shearer.org) by shearer.org with esmtp (Dan's MTA 1.0) id 1DaIlJ-0000Sm-7b; Tue, 24 May 2005 05:08:53 +0930 Received: from dan by erizo.shearer.org with local (Spammer Slammer 3.141) id 1DaIlI-0000Sj-AQ; Tue, 24 May 2005 05:08:52 +0930 Date: Mon, 23 May 2005 19:39:00 -0000 From: Dan Shearer To: Eli Zaretskii , fche@redhat.com, gdb@sources.redhat.com Subject: Re: [discuss] Support for reverse-execution Message-ID: <20050523193852.GH19663@erizo.shearer.org> References: <20050516174649.GM19642@erizo.shearer.org> <20050520181515.GC2499@nevyn.them.org> <01c55ded$Blat.v2.4$11e9e260@zahav.net.il> <20050521141931.GA430@nevyn.them.org> <01c55e1b$Blat.v2.4$99652dc0@zahav.net.il> <20050521174332.GA5140@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20050521174332.GA5140@nevyn.them.org> Organisation: shearer.org User-Agent: Mutt X-SW-Source: 2005-05/txt/msg00294.txt.bz2 On Sat, May 21, 2005 at 01:43:32PM -0400, Daniel Jacobowitz wrote: > On Sat, May 21, 2005 at 06:40:45PM +0300, Eli Zaretskii wrote: > > > Date: Sat, 21 May 2005 10:19:31 -0400 > > > From: Daniel Jacobowitz > > > Cc: fche@redhat.com, dan@shearer.org, gdb@sources.redhat.com > > > > > > One, it requires extensive additional support from the target. State > > > is huge and complicated - multiple threads, file system operations, > > > network packets. You need a target that supports checkpointing to do > > > this. I'm told there are native platforms which could offer this - I > > > just don't know what any of them are. > > > > Well, at least the Linux kernel developers could perhaps be persuaded > > to add such a support. > > Maybe. It would be a major piece of surgery; I think that > checkpointing has been implemented before, but never merged. You can get a feeling for how much work there is by looking at the subset addressed in software suspend http://www.suspend2.net . And this is just for part of one architecture on one operating system. Generic checkpointing in Linux on all platforms would be wonderful to have but I hardly think gdb reversibility will be a driving motivation. And even if it existed: a) what about the heisenbugs? A checkpointable OS still isn't a disinterested party to a debugging session b) what about all the other OSs? Maybe one day we'll get there, but in the meantime the only realistic solution I know of is to do simulation in a userspace process, because then checkpointing becomes a solvable problem. Not always an easy problem because of issues with things like SMP and cranky peripherals but it is at least possible to have the checkpointing mechanism out of the scope of the OS being checkpointed/debugged. -- Dan Shearer dan@shearer.org