From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16148 invoked by alias); 31 Aug 2009 13:59:57 -0000 Received: (qmail 16135 invoked by uid 22791); 31 Aug 2009 13:59:55 -0000 X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_37,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pz0-f185.google.com (HELO mail-pz0-f185.google.com) (209.85.222.185) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 31 Aug 2009 13:59:44 +0000 Received: by pzk15 with SMTP id 15so2916177pzk.24 for ; Mon, 31 Aug 2009 06:59:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.131.1 with SMTP id i1mr13212wfn.339.1251727182063; Mon, 31 Aug 2009 06:59:42 -0700 (PDT) In-Reply-To: <00d501ca2a34$93e5fe30$bbb1fa90$@com> References: <00cf01ca265a$d4110dc0$7c332940$@com> <4A97BA98.4010105@undo-software.com> <83y6p4aweu.fsf@gnu.org> <4A980D06.40002@undo-software.com> <83ljl3c16f.fsf@gnu.org> <4A981551.4060504@vmware.com> <83k50nbrja.fsf@gnu.org> <4A9865A5.1020703@vmware.com> <00d201ca2a33$454aa920$cfdffb60$@com> <00d501ca2a34$93e5fe30$bbb1fa90$@com> From: Hui Zhu Date: Mon, 31 Aug 2009 15:46:00 -0000 Message-ID: Subject: Re: GDB MI Reverse Commands added [2 of 3] To: Jakob Engblom Cc: gdb-patches@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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: 2009-08/txt/msg00584.txt.bz2 I think you need write Changelog like: 2009-08-27 Jan Kratochvil * gdb.mi/mi2-var-cmd.exp (create variable with invalid FRAME-ADDR): New. Hui On Mon, Aug 31, 2009 at 20:14, Jakob Engblom wrote: > Here is an updated patch. As well as a better changelog entry. Diff also > attached as a file, for easier processing if someone wants it that way. > > Changelog: > > doc/ > * gdb.texinfo (MI commands): Added documentation of --reverse option to a= set of > MI commands. Restructured documentation of MI commands --exec-continue to > reflect the complexity of reverse execution. (jakob@virtutech.com) > > > > Index: gdb/doc/gdb.texinfo > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v > retrieving revision 1.615 > diff -c -p -r1.615 gdb.texinfo > *** gdb/doc/gdb.texinfo 6 Aug 2009 23:08:16 -0000 =A0 =A0 =A0 1.615 > --- gdb/doc/gdb.texinfo 31 Aug 2009 12:09:08 -0000 > *************** line of a function back to its return to > *** 5027,5033 **** > =A0Like @code{nexti}, @code{reverse-nexti} executes a single instruction > =A0in reverse, except that called functions are ``un-executed'' atomicall= y. > =A0That is, if the previously executed instruction was a return from > ! another instruction, @code{reverse-nexti} will continue to execute > =A0in reverse until the call to that function (from the current stack > =A0frame) is reached. > > --- 5027,5033 ---- > =A0Like @code{nexti}, @code{reverse-nexti} executes a single instruction > =A0in reverse, except that called functions are ``un-executed'' atomicall= y. > =A0That is, if the previously executed instruction was a return from > ! another function, @code{reverse-nexti} will continue to execute > =A0in reverse until the call to that function (from the current stack > =A0frame) is reached. > > *************** other cases. > *** 22394,22413 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-continue [--all|--thread-group N] > =A0@end smallexample > > ! Resumes the execution of the inferior program until a breakpoint is > ! encountered, or until the inferior exits. =A0In all-stop mode > ! (@pxref{All-Stop Mode}), may resume only one thread, or all threads, > ! depending on the value of the @samp{scheduler-locking} variable. =A0In > ! non-stop mode (@pxref{Non-Stop Mode}), if the @samp{--all} is not > ! specified, only the thread specified with the @samp{--thread} option > ! (or current thread, if no @samp{--thread} is provided) is resumed. =A0If > ! @samp{--all} is specified, all threads will be resumed. =A0The > ! @samp{--all} option is ignored in all-stop mode. =A0If the > ! @samp{--thread-group} options is specified, then all threads in that > ! thread group are resumed. > > =A0@subsubheading @value{GDBN} Command > > --- 22394,22422 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-continue [--reverse] [--all|--thread-group N] > =A0@end smallexample > > ! Resumes the execution of the inferior program, which will continue > ! to execute until it reaches a debugger stop event. =A0If the > ! @samp{--reverse} option is specified, execution resumes in reverse until > ! it reaches a stop event. =A0Stop events may include > ! @itemize @bullet > ! @item > ! breakpoints or watchpoints > ! @item > ! signals or exceptions > ! @item > ! the end of the process (or its beginning under @samp{--reverse}) > ! @item > ! the end or beginning of a replay log if one is being used. > ! @end itemize > ! In all-stop mode (@pxref{All-Stop > ! Mode}), may resume only one thread, or all threads, depending on the > ! value of the @samp{scheduler-locking} variable. =A0If @samp{--all} is > ! specified, all threads will be resumed. =A0The @samp{--all} option is > ! ignored in all-stop mode. =A0If the @samp{--thread-group} options is > ! specified, then all threads in that thread group are resumed. > > =A0@subsubheading @value{GDBN} Command > > *************** line=3D"13"@} > *** 22433,22443 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-finish > =A0@end smallexample > > =A0Resumes the execution of the inferior program until the current > =A0function is exited. =A0Displays the results returned by the function. > > =A0@subsubheading @value{GDBN} Command > > --- 22442,22455 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-finish [--reverse] > =A0@end smallexample > > =A0Resumes the execution of the inferior program until the current > =A0function is exited. =A0Displays the results returned by the function. > + If the @samp{--reverse} option is specified, resumes the reverse > + execution of the inferior program until the point where current > + function was called. > > =A0@subsubheading @value{GDBN} Command > > *************** The corresponding @value{GDBN} command i > *** 22556,22567 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-next > =A0@end smallexample > > =A0Resumes execution of the inferior program, stopping when the beginning > =A0of the next source line is reached. > > =A0@subsubheading @value{GDBN} Command > > =A0The corresponding @value{GDBN} command is @samp{next}. > --- 22568,22586 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-next [--reverse] > =A0@end smallexample > > =A0Resumes execution of the inferior program, stopping when the beginning > =A0of the next source line is reached. > > + If the @samp{--reverse} option is specified, resumes reverse execution > + of the inferior program, stopping at the beginning of the previous > + source line. =A0If you issue this command on the first line of a > + function, it will take you back to the caller of that function, to the > + source line where the function was called. > + > + > =A0@subsubheading @value{GDBN} Command > > =A0The corresponding @value{GDBN} command is @samp{next}. > *************** The corresponding @value{GDBN} command i > *** 22583,22589 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-next-instruction > =A0@end smallexample > > =A0Executes one machine instruction. =A0If the instruction is a function > --- 22602,22608 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-next-instruction [--reverse] > =A0@end smallexample > > =A0Executes one machine instruction. =A0If the instruction is a function > *************** call, continues until the function retur > *** 22591,22596 **** > --- 22610,22621 ---- > =A0instruction in the middle of a source line, the address will be > =A0printed as well. > > + If the @samp{--reverse} option is specified, resumes reverse execution > + of the inferior program, stopping at the previous instruction. =A0If the > + previously executed instruction was a return from another function, > + it will continue to execute in reverse until the call to that function > + (from the current stack frame) is reached. > + > =A0@subsubheading @value{GDBN} Command > > =A0The corresponding @value{GDBN} command is @samp{nexti}. > *************** signal-meaning=3D"Interrupt" > *** 22733,22745 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-step > =A0@end smallexample > > =A0Resumes execution of the inferior program, stopping when the beginning > =A0of the next source line is reached, if the next source line is not a > =A0function call. =A0If it is, stop at the first instruction of the called > ! function. > > =A0@subsubheading @value{GDBN} Command > > --- 22758,22772 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-step [--reverse] > =A0@end smallexample > > =A0Resumes execution of the inferior program, stopping when the beginning > =A0of the next source line is reached, if the next source line is not a > =A0function call. =A0If it is, stop at the first instruction of the called > ! function. =A0If the @samp{--reverse} option is specified, resumes rever= se > ! execution of the inferior program, stopping at the beginning of the > ! previously executed source line. > > =A0@subsubheading @value{GDBN} Command > > *************** Regular stepping: > *** 22777,22790 **** > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-step-instruction > =A0@end smallexample > > ! Resumes the inferior which executes one machine instruction. =A0The > ! output, once @value{GDBN} has stopped, will vary depending on whether > ! we have stopped in the middle of a source line or not. =A0In the former > ! case, the address at which the program stopped will be printed as > ! well. > > =A0@subsubheading @value{GDBN} Command > > --- 22804,22819 ---- > =A0@subsubheading Synopsis > > =A0@smallexample > ! =A0-exec-step-instruction [--reverse] > =A0@end smallexample > > ! Resumes the inferior which executes one machine instruction. =A0If the > ! @samp{--reverse} option is specified, resumes reverse execution of the > ! inferior program, stopping at the previously executed instruction. > ! The output, once @value{GDBN} has stopped, will vary depending on > ! whether we have stopped in the middle of a source line or not. =A0In the > ! former case, the address at which the program stopped will be printed > ! as well. > > =A0@subsubheading @value{GDBN} Command > > > > > Best regards, > > /jakob > > _______________________________________________________ > > Jakob Engblom, PhD, Technical Marketing Manager > > Virtutech=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Direct: += 46 8 690 07 47 > Drottningholmsv=E4gen 22=A0=A0=A0=A0=A0 Mobile: +46 709 242 646 > 11243 Stockholm=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Web:=A0=A0=A0 www.vir= tutech.com > Sweden > ________________________________________________________ > > > >