From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8169 invoked by alias); 17 Sep 2008 15:32:34 -0000 Received: (qmail 8147 invoked by uid 22791); 17 Sep 2008 15:32:33 -0000 X-Spam-Check-By: sourceware.org Received: from ti-out-0910.google.com (HELO ti-out-0910.google.com) (209.85.142.191) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 17 Sep 2008 15:31:58 +0000 Received: by ti-out-0910.google.com with SMTP id d10so2186295tib.12 for ; Wed, 17 Sep 2008 08:31:55 -0700 (PDT) Received: by 10.110.28.15 with SMTP id b15mr546786tib.46.1221665515137; Wed, 17 Sep 2008 08:31:55 -0700 (PDT) Received: by 10.110.42.9 with HTTP; Wed, 17 Sep 2008 08:31:55 -0700 (PDT) Message-ID: Date: Wed, 17 Sep 2008 15:32:00 -0000 From: teawater To: "Michael Snyder" Subject: Re: [reverse RFA] no singlestep-over-BP in reverse Cc: "Daniel Jacobowitz" , "gdb-patches@sourceware.org" In-Reply-To: <48CFFE21.8030709@vmware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <48CEAA05.8050006@vmware.com> <48CFFE21.8030709@vmware.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-09/txt/msg00369.txt.bz2 Agree with you. And I think Maybe need add a test for it. I think is: 1. There is a statement that set the value of a variable. For example: a = 1; 2. Before this statement, the value of this variable is not same with new value. 3. Set a breakpoint on this statement, And check the value of this variable when forward execute and reverse execute program break by this breakpoint. If the value is the new value, fail. If is the old value, pass. Thanks, Hui On Wed, Sep 17, 2008 at 02:42, Michael Snyder wrote: > teawater wrote: >> >> I think maybe some reverse target (in the future?) need it. >> Someone already know it already deal the breakpoint. But the others >> will not know. Maybe I will change inside record to second type. >> >> >> If this single step affect some target, how about let target choice it >> with itself? > > At the moment, my opinion is that gdb needs to be able > to expect consistent behavior from the target(s). > > And I believe that consistent behavior / semantics should be: > > If you tell me that you are stopped at instruction 1000, > regardless of whether you were going forward or backward > when you got there, then I will expect that if I tell you > to execute forward, you will execute the instruction at > 1000. > > Therefore the machine state at this point should reflect > the state BEFORE any side effects of the forward execution > of that instruction. > > This is how it is for forward execution, and it only makes > sense to expect the same for reverse execution. Any variables > that are changed by the instruction should have their pre- > execution values. > >