From: "Metzger, Markus T" <markus.t.metzger@intel.com>
To: Eli Zaretskii <eliz@gnu.org>, Pedro Alves <palves@redhat.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: RE: [PATCH v2 17/17] infrun: scheduler-locking reverse
Date: Wed, 16 Sep 2015 12:28:00 -0000 [thread overview]
Message-ID: <A78C989F6D9628469189715575E55B23331AE858@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <838u8d49d3.fsf@gnu.org>
> -----Original Message-----
> From: Eli Zaretskii [mailto:eliz@gnu.org]
> Sent: Friday, September 11, 2015 11:02 AM
> To: Pedro Alves
> Cc: Metzger, Markus T; gdb-patches@sourceware.org
> Subject: Re: [PATCH v2 17/17] infrun: scheduler-locking reverse
>
> > Date: Fri, 11 Sep 2015 09:55:41 +0100
> > From: Pedro Alves <palves@redhat.com>
> > CC: gdb-patches@sourceware.org
The second paragraph of [1] says "When this [record] target is in use, if the
execution log includes the record for the next instruction, gdb will debug in
replay mode.".
Following this definition of "replay mode", I agree with Eli's first suggestion
to call the new scheduler-locking mode "replay".
I'm avoiding the term "replay" since esp. record btrace does not replay in the
sense of "re-execute the program". All it does is move the PC around. Record
full does a bit more but it is still not re-executing the program.
> > I'll admit that when reviewing this, I also noticed that the setting
> > applies both when stepping backwards, and when replaying forward,
> > and wondered whether that would be confusing.
> >
> > Do we call reverse execution "replay" too? The docs are a bit confusing
> > on this, sometimes it looks like we do, sometimes not. E.g., [1]
> >
> > When debugging in the reverse direction, gdb will work in replay mode as
> > long as the execution log includes the record for the previous instruction;
> > otherwise, it will work in record mode, if the platform supports reverse
> > execution, or stop if not.
> >
> > [1] - https://sourceware.org/gdb/onlinedocs/gdb/Process-Record-and-
> Replay.html#Process-Record-and-Replay
> >
> > I think the "If the platform supports reverse execution" part is talking
> > about when the remote target supports reverse debugging directly,
> > like e.g., Qemu / Simics / VMWare(?).
> >
> > But then it seems confusing to call reverse stepping "record mode",
> > as in "if it's rewinding time, what it is recording??".
It looks like "replay" mode means that GDB is executing from its (own)
execution log; "record" mode means that GDB is extending its execution
log.
Traditionally, GDB records when stepping forward from the end of the
execution log. On targets that support native reverse-stepping, however,
GDB is able to extend its execution log also when stepping backward from
the beginning of GDB's execution log.
This doesn't work with record btrace.
Regards,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
Chairperson of the Supervisory Board: Tiffany Doon Silva
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
next prev parent reply other threads:[~2015-09-16 12:28 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-11 6:52 [PATCH v2 00/17] record btrace: non-stop and ASNS Markus Metzger
2015-09-11 6:51 ` [PATCH v2 06/17] btrace: move breakpoint checking into stepping functions Markus Metzger
2015-09-11 6:51 ` [PATCH v2 05/17] btrace: split record_btrace_step_thread Markus Metzger
2015-09-11 6:51 ` [PATCH v2 03/17] btrace: improve stepping debugging Markus Metzger
2015-09-11 6:51 ` [PATCH v2 07/17] btrace: add missing NO_HISTORY Markus Metzger
2015-09-11 6:51 ` [PATCH v2 11/17] btrace: async Markus Metzger
2015-09-11 6:51 ` [PATCH v2 04/17] btrace: extract the breakpoint check from record_btrace_step_thread Markus Metzger
2015-09-11 6:51 ` [PATCH v2 12/17] infrun: switch to NO_HISTORY thread Markus Metzger
2015-09-11 6:51 ` [PATCH v2 08/17] btrace: lock-step Markus Metzger
2015-09-11 6:51 ` [PATCH v2 01/17] btrace: fix non-stop check in to_wait Markus Metzger
2015-09-11 6:52 ` [PATCH v2 15/17] btrace: allow full memory and register access for non-replaying threads Markus Metzger
2015-09-11 6:52 ` [PATCH v2 09/17] btrace: resume all requested threads Markus Metzger
2015-09-11 6:52 ` [PATCH v2 10/17] btrace: temporarily set inferior_ptid in record_btrace_start_replaying Markus Metzger
2015-09-11 6:52 ` [PATCH v2 14/17] target, record: add PTID argument to to_record_is_replaying Markus Metzger
2015-09-11 6:52 ` [PATCH v2 02/17] btrace: support to_stop Markus Metzger
2015-09-11 6:52 ` [PATCH v2 16/17] target: add to_record_stop_replaying target method Markus Metzger
2015-09-11 6:52 ` [PATCH v2 17/17] infrun: scheduler-locking reverse Markus Metzger
2015-09-11 7:01 ` Eli Zaretskii
2015-09-11 8:55 ` Pedro Alves
2015-09-11 9:02 ` Eli Zaretskii
2015-09-16 12:28 ` Metzger, Markus T [this message]
2015-09-16 12:54 ` Pedro Alves
2015-09-16 13:32 ` Pedro Alves
2015-09-16 13:56 ` Metzger, Markus T
2015-09-16 14:25 ` Pedro Alves
2015-09-11 6:52 ` [PATCH v2 13/17] btrace: non-stop Markus Metzger
2015-09-11 6:58 ` Eli Zaretskii
2015-09-11 7:56 ` [PATCH v2 00/17] record btrace: non-stop and ASNS Pedro Alves
2015-09-11 8:02 ` Metzger, Markus T
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=A78C989F6D9628469189715575E55B23331AE858@IRSMSX104.ger.corp.intel.com \
--to=markus.t.metzger@intel.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.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