From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21812 invoked by alias); 14 Jul 2009 17:36:07 -0000 Received: (qmail 21803 invoked by uid 22791); 14 Jul 2009 17:36:07 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 14 Jul 2009 17:35:59 +0000 Received: from jupiter.vmware.com (mailhost5.vmware.com [10.16.68.131]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id 5AC4B44005; Tue, 14 Jul 2009 10:35:57 -0700 (PDT) Received: from [10.20.94.141] (msnyder-server.eng.vmware.com [10.20.94.141]) by jupiter.vmware.com (Postfix) with ESMTP id 508DADC08C; Tue, 14 Jul 2009 10:35:57 -0700 (PDT) Message-ID: <4A5CC0E1.7020800@vmware.com> Date: Tue, 14 Jul 2009 17:36:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Nick Roberts CC: "gdb@sources.redhat.com" Subject: Re: Reverse debugging References: <19035.54231.157231.624882@totara.tehura.co.nz> <4A5BD5F3.1090103@vmware.com> <19035.57129.173542.368393@totara.tehura.co.nz> In-Reply-To: <19035.57129.173542.368393@totara.tehura.co.nz> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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: 2009-07/txt/msg00093.txt.bz2 Nick Roberts wrote: > > That's because target exec does not support reverse, > > but target record does. Reverse is also potentially > > supported under target remote, depending on what remote > > target you're connected to. > > > > > In the "Reverse Execution" node of the GDB manual it talks about > > > "a target environment that supports reverse execution" but doesn't clarify > > > what those targets are. The node "Process Record and Replay" comes next > > > in the manual but these two seem to be inimately related. > > > > Process record (target record) is one of a small number of > > targets that currently support reverse debugging. The others, > > so far, are all remote targets (eg. SID from Red Hat, and > > Simics from Virtutech). > >... > > Thanks for these answers, I find them more lucid than the manual. If I try > to reverse a remote target using gdbserver (actually on host/local machine - > x86_64 this time), I'm not told that the target doesn't support this command > but reverse-next works just like next until I hit a function: > > (gdb) reverse-next > > Program received signal SIGTRAP, Trace/breakpoint trap. > 0x0000000000400521 in printf@plt () > Current language: auto; currently asm > (gdb) > Sounds like you are using "record" on top of "target remote"? I wasn't sure if that would work or not, but sounds like it does. The failure you are seeing is one that I have an outstanding change ready to fix.