From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30072 invoked by alias); 16 May 2006 19:25:25 -0000 Received: (qmail 30035 invoked by uid 22791); 16 May 2006 19:25:25 -0000 X-Spam-Check-By: sourceware.org Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 16 May 2006 19:25:20 +0000 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1Fg5AF-0001LL-De for gdb@sources.redhat.com; Tue, 16 May 2006 21:25:03 +0200 Received: from 81-86-106-160.dsl.pipex.com ([81.86.106.160]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 16 May 2006 21:25:03 +0200 Received: from support by 81-86-106-160.dsl.pipex.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 16 May 2006 21:25:03 +0200 To: gdb@sources.redhat.com From: Julian Smith Subject: Re: Return to Reverse Execution Date: Tue, 16 May 2006 20:24:00 -0000 Message-ID: <20060516201833.2a6ba688.support@undo-software.com> References: <43BC376F.4000307@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII 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: 2006-05/txt/msg00244.txt.bz2 On Wed, 04 Jan 2006 13:00:31 -0800 Michael Snyder wrote: > Over the past several months, there's been some great discussion > of this topic, and even some trial patches sent out for comment. > > I'd like to start preparing a real submission for approval. > I'm testing the waters now, to see how close we may be to > converging on an acceptable interface spec. > > So here is my proposed gdb user interface. We've been busy the past year or so making such a "reverse execution" engine (we call it a bidirectional debugger). It's debugger neutral, but our first supported front end is gdb. As such we've patched gdb-6.4 to provide support for our new commands. Communication between gdb and the bidirectional debugger engine is via a pair of FIFOs. You can check it out at http://undo-software.com/ > 1) A set of new commands that mimic the existing ones, > to include: > reverse-step (rs) > reverse-next (rn) > reverse-continue (rc) > reverse-finish (rf) We decided on using a `b' prefix to existing execution commands: bnext, bnexti, bstep, bstepi, buntil and bfinish. There are also new commands: `bgoton' goes back to an arbitrary temporal position, `bgoto' goes back to an arbitrary place (e.g. `bgoto foo.c:23') and `bget' displays the current temporal position. If gdb develops a set of standard commands, we'd definitely use them. The above ones seem to work well, but might not cover all types of reverse execution engines. - Julian -- http://undo-software.com/