From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29793 invoked by alias); 23 Oct 2008 03:46:21 -0000 Received: (qmail 29784 invoked by uid 22791); 23 Oct 2008 03:46:20 -0000 X-Spam-Check-By: sourceware.org Received: from ti-out-0910.google.com (HELO ti-out-0910.google.com) (209.85.142.186) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 23 Oct 2008 03:45:34 +0000 Received: by ti-out-0910.google.com with SMTP id d10so52379tib.12 for ; Wed, 22 Oct 2008 20:45:31 -0700 (PDT) Received: by 10.110.95.15 with SMTP id s15mr58702tib.8.1224733531308; Wed, 22 Oct 2008 20:45:31 -0700 (PDT) Received: by 10.110.42.9 with HTTP; Wed, 22 Oct 2008 20:45:31 -0700 (PDT) Message-ID: Date: Thu, 23 Oct 2008 03:46:00 -0000 From: teawater To: "Jakob Engblom" , "Michael Snyder" , "Daniel Jacobowitz" , gdb@sourceware.org Subject: Re: [discuss] semantics, "replay debugging" vs. "reverse debugging" In-Reply-To: <011401c9347d$aa97a0f0$ffc6e2d0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <48FBDA34.6020104@vmware.com> <007e01c9334e$aad56ff0$00804fd0$@com> <20081022133716.GA10237@caradoc.them.org> <48FF6C46.1020402@vmware.com> <011401c9347d$aa97a0f0$ffc6e2d0$@com> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00101.txt.bz2 I heard some non-opensource implement of reverse. Do you have some message about them? On Thu, Oct 23, 2008 at 03:37, Jakob Engblom wrote: >> > Sorry I am wrong. >> > In ARM, Just adds set cpsr reg. So: >> > add r0,r0,#10 >> > Can reverse without record too. >> >> OK, well, I was really speaking in the abstract. >> I only meant "it's possible to imagine a target or >> architecture in which reverse execution can be done >> by some means other than record/replay". >> >> Didn't necessarily mean that it could be done on any >> real, existing architecture. > > Just to add some more to this: > > 1. Simics is such a target, as is really any deterministic simulator that= is > running without any asynchronous (from the perspective of the simulator p= rogram) > inputs. Typical cases involve booting a machine, which tends to be > non-interactive. Or running a program that has all its input data compil= ed into > it or read from some place that is already on the target. And you could= say > that this is a degenerate form of record, since you DO have to "record" t= he > initial state in some way, even if the initial state is something that yo= u write > yourself as a simulator configuration. It is recorded in a form that can = be > brought back identically. > > 2. There are some odd-ball ideas in computer architecture close to the th= inking > behing transactional memory where you do checkpoint and restore and reexe= cute > inside an actual physical CPU core. These might also for limited scopes = support > reversing without replay. > > But in general, the only way to get back to an earlier state is to record= how to > get there, usually from some even earlier point. Alternatively, use a > tape-recorder analogy and just have a limited buffer with interesting dat= a. > > > Best regards, > > /jakob > > _______________________________________________________ > > Jakob Engblom, PhD, Technical Marketing Manager > > Virtutech Direct: +46 8 690 07 47 > Drottningholmsv=E4gen 14 Mobile: +46 709 242 646 > 11243 Stockholm Web: www.virtutech.com > Sweden > ________________________________________________________ > > > > >