From: Hui Zhu <teawater@gmail.com>
To: Jakob Engblom <jakob@virtutech.com>
Cc: gdb-patches@sourceware.org
Subject: Re: GDB MI Reverse Commands added [2 of 3]
Date: Mon, 31 Aug 2009 15:46:00 -0000 [thread overview]
Message-ID: <daef60380908310659s17deeae9n75ddade7926a5858@mail.gmail.com> (raw)
In-Reply-To: <00d501ca2a34$93e5fe30$bbb1fa90$@com>
I think you need write Changelog like:
2009-08-27 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.mi/mi2-var-cmd.exp (create variable with invalid FRAME-ADDR): New.
Hui
On Mon, Aug 31, 2009 at 20:14, Jakob Engblom<jakob@virtutech.com> 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
> ===================================================================
> 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 1.615
> --- gdb/doc/gdb.texinfo 31 Aug 2009 12:09:08 -0000
> *************** line of a function back to its return to
> *** 5027,5033 ****
> Like @code{nexti}, @code{reverse-nexti} executes a single instruction
> in reverse, except that called functions are ``un-executed'' atomically.
> That is, if the previously executed instruction was a return from
> ! another instruction, @code{reverse-nexti} will continue to execute
> in reverse until the call to that function (from the current stack
> frame) is reached.
>
> --- 5027,5033 ----
> Like @code{nexti}, @code{reverse-nexti} executes a single instruction
> in reverse, except that called functions are ``un-executed'' atomically.
> That is, if the previously executed instruction was a return from
> ! another function, @code{reverse-nexti} will continue to execute
> in reverse until the call to that function (from the current stack
> frame) is reached.
>
> *************** other cases.
> *** 22394,22413 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-continue [--all|--thread-group N]
> @end smallexample
>
> ! Resumes the execution of the inferior program until a breakpoint is
> ! encountered, or until the inferior exits. 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. In
> ! 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. If
> ! @samp{--all} is specified, all threads will be resumed. The
> ! @samp{--all} option is ignored in all-stop mode. If the
> ! @samp{--thread-group} options is specified, then all threads in that
> ! thread group are resumed.
>
> @subsubheading @value{GDBN} Command
>
> --- 22394,22422 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-continue [--reverse] [--all|--thread-group N]
> @end smallexample
>
> ! Resumes the execution of the inferior program, which will continue
> ! to execute until it reaches a debugger stop event. If the
> ! @samp{--reverse} option is specified, execution resumes in reverse until
> ! it reaches a stop event. Stop 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. If @samp{--all} is
> ! specified, all threads will be resumed. The @samp{--all} option is
> ! ignored in all-stop mode. If the @samp{--thread-group} options is
> ! specified, then all threads in that thread group are resumed.
>
> @subsubheading @value{GDBN} Command
>
> *************** line="13"@}
> *** 22433,22443 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-finish
> @end smallexample
>
> Resumes the execution of the inferior program until the current
> function is exited. Displays the results returned by the function.
>
> @subsubheading @value{GDBN} Command
>
> --- 22442,22455 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-finish [--reverse]
> @end smallexample
>
> Resumes the execution of the inferior program until the current
> function is exited. Displays 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.
>
> @subsubheading @value{GDBN} Command
>
> *************** The corresponding @value{GDBN} command i
> *** 22556,22567 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-next
> @end smallexample
>
> Resumes execution of the inferior program, stopping when the beginning
> of the next source line is reached.
>
> @subsubheading @value{GDBN} Command
>
> The corresponding @value{GDBN} command is @samp{next}.
> --- 22568,22586 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-next [--reverse]
> @end smallexample
>
> Resumes execution of the inferior program, stopping when the beginning
> of 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. If 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.
> +
> +
> @subsubheading @value{GDBN} Command
>
> The corresponding @value{GDBN} command is @samp{next}.
> *************** The corresponding @value{GDBN} command i
> *** 22583,22589 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-next-instruction
> @end smallexample
>
> Executes one machine instruction. If the instruction is a function
> --- 22602,22608 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-next-instruction [--reverse]
> @end smallexample
>
> Executes one machine instruction. If the instruction is a function
> *************** call, continues until the function retur
> *** 22591,22596 ****
> --- 22610,22621 ----
> instruction in the middle of a source line, the address will be
> printed as well.
>
> + If the @samp{--reverse} option is specified, resumes reverse execution
> + of the inferior program, stopping at the previous instruction. If 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.
> +
> @subsubheading @value{GDBN} Command
>
> The corresponding @value{GDBN} command is @samp{nexti}.
> *************** signal-meaning="Interrupt"
> *** 22733,22745 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-step
> @end smallexample
>
> Resumes execution of the inferior program, stopping when the beginning
> of the next source line is reached, if the next source line is not a
> function call. If it is, stop at the first instruction of the called
> ! function.
>
> @subsubheading @value{GDBN} Command
>
> --- 22758,22772 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-step [--reverse]
> @end smallexample
>
> Resumes execution of the inferior program, stopping when the beginning
> of the next source line is reached, if the next source line is not a
> function call. If it is, stop at the first instruction of the called
> ! function. If the @samp{--reverse} option is specified, resumes reverse
> ! execution of the inferior program, stopping at the beginning of the
> ! previously executed source line.
>
> @subsubheading @value{GDBN} Command
>
> *************** Regular stepping:
> *** 22777,22790 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-step-instruction
> @end smallexample
>
> ! Resumes the inferior which executes one machine 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. In the former
> ! case, the address at which the program stopped will be printed as
> ! well.
>
> @subsubheading @value{GDBN} Command
>
> --- 22804,22819 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -exec-step-instruction [--reverse]
> @end smallexample
>
> ! Resumes the inferior which executes one machine instruction. If 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. In the
> ! former case, the address at which the program stopped will be printed
> ! as well.
>
> @subsubheading @value{GDBN} Command
>
>
>
>
> Best regards,
>
> /jakob
>
> _______________________________________________________
>
> Jakob Engblom, PhD, Technical Marketing Manager
>
> Virtutech Direct: +46 8 690 07 47
> Drottningholmsvägen 22 Mobile: +46 709 242 646
> 11243 Stockholm Web: www.virtutech.com
> Sweden
> ________________________________________________________
>
>
>
>
next prev parent reply other threads:[~2009-08-31 13:59 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-26 14:38 Jakob Engblom
2009-08-26 17:38 ` Eli Zaretskii
2009-08-27 13:48 ` Jakob Engblom
2009-08-28 10:05 ` Eli Zaretskii
2009-08-28 10:08 ` Jakob Engblom
2009-08-28 10:49 ` Eli Zaretskii
2009-08-28 13:41 ` Greg Law
2009-08-28 14:28 ` Eli Zaretskii
2009-08-28 17:12 ` Greg Law
2009-08-28 17:34 ` Eli Zaretskii
2009-08-28 18:49 ` Michael Snyder
2009-08-28 21:32 ` Eli Zaretskii
2009-08-28 23:28 ` Michael Snyder
2009-08-29 8:12 ` Eli Zaretskii
2009-08-29 15:19 ` Eli Zaretskii
2009-08-31 12:14 ` Jakob Engblom
2009-08-31 13:06 ` Jakob Engblom
2009-08-31 15:46 ` Hui Zhu [this message]
2009-08-31 16:47 ` Eli Zaretskii
2009-09-01 6:41 ` Jakob Engblom
2009-12-15 19:41 ` Michael Snyder
2009-12-16 8:01 ` Vladimir Prus
2009-12-16 18:10 ` Eli Zaretskii
2009-12-16 18:15 ` Eli Zaretskii
2009-12-16 19:04 ` Michael Snyder
2009-12-16 20:01 ` Eli Zaretskii
2009-12-16 20:45 ` Vladimir Prus
2009-12-17 20:15 ` Eli Zaretskii
2010-02-12 21:36 ` Michael Snyder
2009-08-31 17:56 ` Michael Snyder
2009-09-01 6:37 ` Jakob Engblom
2009-08-29 7:37 ` Jakob Engblom
2009-08-28 10:44 ` Jakob Engblom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=daef60380908310659s17deeae9n75ddade7926a5858@mail.gmail.com \
--to=teawater@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=jakob@virtutech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox