From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23128 invoked by alias); 28 May 2012 15:28:33 -0000 Received: (qmail 23104 invoked by uid 22791); 28 May 2012 15:28:32 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 28 May 2012 15:28:13 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4SFSC1I016502 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 28 May 2012 11:28:13 -0400 Received: from host2.jankratochvil.net (ovpn-116-47.ams2.redhat.com [10.36.116.47]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q4SFS9vo004770 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 28 May 2012 11:28:11 -0400 Date: Mon, 28 May 2012 15:28:00 -0000 From: Jan Kratochvil To: "Xing, Charlie" Cc: "gdb@sourceware.org" Subject: Re: Will GDB extract the entire Variable history in further releases, based on Reverse Debugging? Message-ID: <20120528152808.GA18997@host2.jankratochvil.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) 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: 2012-05/txt/msg00136.txt.bz2 On Mon, 28 May 2012 03:38:07 +0200, Xing, Charlie wrote: > I've used the "Reverse Debugging" feature of GDB 7.4 and I'm curious if you > guys would provide any advanced features based on it, E.g., Extracting the > entire Variable History. Also not sure what you mean like Pedro but I use IMO something like such feature: (gdb) l 1 /* 1 */ int var; 2 /* 2 */ int main (void) { 3 /* 3 */ int i; for (i=0;i<100;i++) 4 /* 4 */ var=i/10; 5 /* 5 */ return 0; } (gdb) start (gdb) record (gdb) adv 5 main () at history.c:5 5 /* 5 */ return 0; } (gdb) watch var Hardware watchpoint 2: var (gdb) reverse-continue Continuing. Hardware watchpoint 2: var Old value = 9 New value = 8 0x00000000004004c3 in main () at history.c:4 4 /* 4 */ var=i/10; (gdb) p i $1 = 90 (gdb) reverse-continue Continuing. Hardware watchpoint 2: var Old value = 8 New value = 7 0x00000000004004c3 in main () at history.c:4 4 /* 4 */ var=i/10; (gdb) p i $2 = 80 Regards, Jan