From: "Marc Khouzam" <marc.khouzam@ericsson.com>
To: "Hui Zhu" <teawater@gmail.com>, "Eli Zaretskii" <eliz@gnu.org>
Cc: <gdb-patches@sourceware.org>
Subject: RE: Process record and replay checked in to main trunk
Date: Mon, 04 May 2009 14:32:00 -0000 [thread overview]
Message-ID: <6D19CA8D71C89C43A057926FE0D4ADAA076040E1@ecamlmw720.eamcs.ericsson.se> (raw)
In-Reply-To: <daef60380905030715r74477daak7644eab90c6cb5be@mail.gmail.com>
> -----Original Message-----
> From: gdb-patches-owner@sourceware.org
> [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Hui Zhu
> Sent: Sunday, May 03, 2009 10:16 AM
> To: Eli Zaretskii
> Cc: gdb-patches@sourceware.org
> Subject: Re: Process record and replay checked in to main trunk
>
> On Sat, May 2, 2009 at 01:55, Eli Zaretskii <eliz@gnu.org> wrote:
> >> Date: Sat, 2 May 2009 01:02:33 +0800
> >> From: Hui Zhu <teawater@gmail.com>
> >> Cc: gdb-patches@sourceware.org, pedro@codesourcery.com,
> >> marc.khouzam@ericsson.com, msnyder@vmware.com,
> bauerman@br.ibm.com,
> >> mark.kettenis@xs4all.nl
> >>
> >> > What I think is still missing from the manual is a few
> sentences that
> >> > would explain when this target is useful. Can you
> provide such ``war
> >> > stories''? I will then add them to the manual.
> >>
> >> Which sentences? ``war stories''?
> >> Do you mean is internal doc?
> >
> > No, I mean description of when this target is useful in
> real life, and
> > how you will use it. In other words, put yourself in a place of
> > someone who reads the manual about the record/replay target and asks
> > him/herself "why should I care about this new feature?" Then try to
> > answer that question. And try to answer it so that the reader will
> > wonder how could she ever get by without this feature before.
> >
>
> I got it. I will try to deal with it.
>
> I am not a native speaker and poor english ability.
> Could some people help me with it?
These points will not be a surprise to anyone, but I figure
they may help get the ball rolling.
Some of the values that I find in Process Record and Replay are:
a) Debugging a problem that requires a lot of user input.
Say my software is a graphical application and I get a
report that a specific long sequence of user-interface operations
causes a bug. Fixing the bug requires me to reproduce it by
repeating the many UI operations until I arrive at the point of
execution where the bug occurs. If I have to go over the problematic
part of the execution multiple times, traditional debugging requires
me to manually repeat the long sequence of UI steps over and over,
until I have collected all the necessary information.
With Process Record and Replay, the pressure of obtaining as much
information as possible in a single run is removed. If I need to
collect more information that I originally thought, it is now possible
to simply reverse the execution up to the point I'm interested in, and
repeat the execution forward again, collecting the info that was missed.
The long sequence of UI steps need only be done once.
b) Debugging a race condition
In cases where the bug I am chasing is caused by a race condition,
reproducing the problem may take dozens (or more) of attempts. Again, in
such cases, the pressure is on to collect as much information as possible
on the first run, as it may be very diffucult to re-trigger the race
condition.
With Process Record and Replay once the race condition has been reproduced,
the execution can be reversed and repeated as many time as required to
collect all necessary information. The race condition is guaranteed to be
present in the replay of the execution since it is simply repeating the
exact execution that was previously recorded.
c) Unknown sequence of events leading to a bug
Sometimes, while testing an application, an unexpected behavior will
be seen. Unfortunately, the designer often does not recall the exact
events that lead to this behavior and cannot reproduce it. The situation
is then labelled 'a fluke'.
In some cases, the testing of an application can be done with Process
Record and Replay enabled. In such cases, when an application misbehaves,
the events leading to that point have been recorded and can be replayed
immediately and investigated thoroughly. Bugs can no longer escape
through the 'fluke' door.
next prev parent reply other threads:[~2009-05-04 14:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-30 7:59 Hui Zhu
2009-04-30 14:43 ` Marc Khouzam
2009-04-30 20:00 ` Michael Snyder
2009-05-01 9:16 ` Eli Zaretskii
2009-05-01 17:02 ` Hui Zhu
2009-05-01 17:55 ` Eli Zaretskii
2009-05-03 14:15 ` Hui Zhu
2009-05-04 11:17 ` Eli Zaretskii
2009-05-04 16:46 ` Michael Snyder
2009-05-05 13:48 ` Hui Zhu
2009-05-04 14:32 ` Marc Khouzam [this message]
2009-05-04 16:46 ` Eli Zaretskii
2009-05-05 14:11 ` Hui Zhu
2009-05-01 9:26 ` Eli Zaretskii
2009-05-01 17:08 ` Hui Zhu
2009-05-01 17:58 ` Eli Zaretskii
2009-05-01 13:28 ` Eli Zaretskii
2009-05-03 13:54 ` Hui Zhu
2009-05-04 11:15 ` Eli Zaretskii
2009-05-05 13:40 ` Hui Zhu
2009-05-05 19:01 ` Eli Zaretskii
2009-05-05 19:32 ` Mark Kettenis
2009-05-05 19:52 ` Eli Zaretskii
2009-05-06 13:34 ` Hui Zhu
[not found] ` <daef60380904300102o4470ac45he41f6b72176b1947@mail.gmail.com>
2009-05-07 22:24 ` Pierre Muller
2009-05-07 22:52 ` Michael Snyder
2009-05-07 23:05 ` Pedro Alves
2009-05-08 5:12 ` Hui Zhu
2009-05-08 12:11 ` Pierre Muller
2009-05-10 17:28 ` Hui Zhu
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=6D19CA8D71C89C43A057926FE0D4ADAA076040E1@ecamlmw720.eamcs.ericsson.se \
--to=marc.khouzam@ericsson.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=teawater@gmail.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