From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18697 invoked by alias); 3 Oct 2008 06:30:05 -0000 Received: (qmail 18638 invoked by uid 22791); 3 Oct 2008 06:30:04 -0000 X-Spam-Check-By: sourceware.org Received: from mtaout1.012.net.il (HELO mtaout1.012.net.il) (84.95.2.1) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 03 Oct 2008 06:29:25 +0000 Received: from HOME-C4E4A596F7 ([77.127.170.116]) by i-mtaout1.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0K8500BB8GQPBB10@i-mtaout1.012.net.il> for gdb-patches@sourceware.org; Fri, 03 Oct 2008 09:30:26 +0300 (IDT) Date: Fri, 03 Oct 2008 06:30:00 -0000 From: Eli Zaretskii Subject: Re: [RFA] Reverse Debugging, 5/5 In-reply-to: <48E53FE3.8090306@vmware.com> X-012-Sender: halo1@inter.net.il To: Michael Snyder Cc: gdb-patches@sourceware.org, drow@false.org, pedro@codesourcery.com, teawater@gmail.com Reply-to: Eli Zaretskii Message-id: References: <48E3CD66.9020600@vmware.com> <48E53FE3.8090306@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-10/txt/msg00082.txt.bz2 > Date: Thu, 02 Oct 2008 14:40:51 -0700 > From: Michael Snyder > CC: "gdb-patches@sourceware.org" , > "drow@false.org" , > "pedro@codesourcery.com" , > "teawater@gmail.com" > > >> + case EXEC_ERROR: > >> + default: > >> + fprintf_filtered, (out, > >> + _("Target `%s' does not support execution-direction."), > >> + target_shortname); > >> + break; > > > > Why print an error message? isn't it better to say the direction is > > "forward" (which is documented as the default in your patch for the > > manual)? > > Maybe. I'm open to discussion. > > The context is, the user says "show exec-direction" > with a target that doesn't support reverse. > > Is it better to just say "Forward", with no comment, > or is it better to let the user know that the question > is not applicable? Or both? Both, I'd say. > >> + if (dir == EXEC_REVERSE) > >> + error (_("Already in reverse mode. Use '%s' or 'set exec-dir forward'."), > >> + cmd); > > > > Isn't it better to silently do the equivalent of "cmd"? > > Possibly. Again, I'm open to discussion. But I think > we've discussed this one before Well, at least I'm consistent... ;-) > > ALL side effects? I thought some of them cannot be undone, > > un-outputting to the various I/O devices etc. > > That depends on the implementation on the target side. > For instance, VMware's implementation can undo device I/O, > so long as the device is virtual, but gdb-freeplay cannot. > > GDB has no way of knowing this, but perhaps I should say > something more explicit about it in the doc? Yes. > >> Starting from > >> +the first line of a function, @code{reverse-next} will take you back > >> +to the caller of that function, @emph{before} the function was called. > > > > Shouldn't we have some kind of caveat here regarding function prologue > > and epilogue? > > Like what? > > If I've done my job right, prologues and epilogues > should be handled transparently, just like they are > when stepping forward. Are they treated transparently when we step forward? I had an impression that in optimized code, they aren't always transparent.