From: pi3orama <pi3orama@gmail.com>
To: paawan oza <paawan1982@yahoo.com>, Nan Wang <pi3orama@gmail.com>
Cc: gdb@sourceware.org
Subject: Re: Re: ReBranch - a record-replay debugging tool
Date: Fri, 10 Jun 2011 01:55:00 -0000 [thread overview]
Message-ID: <BANLkTikaMxLa9GkMC_=-=dqNF608Zr0yZw@mail.gmail.com> (raw)
In-Reply-To: <bcaec5215b03b867ea04a5500b35@google.com>
Hi,
ReBranch instruments all indirect branch instruction (such as jnz, jmp
*0x12345, call *%eax..., and syscall), records their branch targets.
For system calls, ReBranch also record their results (for write(),
ReBranch records its return value; for read(), ReBranch records its
return value as well as the data it retrieves). It also records the
result of 'rdtsc'.
All instrumentation is done dynamically at runtime -- no recompilation
or relinking is required.
On , paawan oza <paawan1982@yahoo.com> wrote:
> Hi,
>
>
>
> Is it something like you do an instrumentation in object code....mostly at
> all
>
> control flows and system calls.
>
> and record some things.
>
> so indirectly you do not record every instruction, but you need to modify
> object
>
> code by binary instrumentation.
>
>
>
> but what I fail to understand is; what all do you record ?
>
>
>
>
>
> Regards,
>
> Oza.
>
>
>
>
>
>
>
> ----- Original Message ----
>
> From: Nan Wang pi3orama@gmail.com>
>
> To: Pedro Alves pedro@codesourcery.com>; gdb@sourceware.org
>
> Sent: Thu, June 9, 2011 10:09:09 PM
>
> Subject: Re: ReBranch - a record-replay debugging tool
>
>
>
> What I mean "control-flow only debugging" is:
>
>
>
> Sometimes user only use GDB's control-flow functions, such as 'c', 'b',
>
> 'n', 's' ... to watch how the program get to the bug. He or she doesn't
>
> care the variable name, the memory and some data-flow information.
>
>
>
> ReBranch demands "control-flow only debugging" because it only records
>
> every branch instruction. In current implementation (the modified
>
> version of gdbserver), the replayer still need to create a process and
>
> use ptrace to control it. When data-flow have error (caused by data-race
>
> in multi threading situation), the ptraced process will generate
>
> segfault for every instructions, which slows down the performance.
>
>
>
> ReBranch have a GUI replayer -- ReBranchK -- which is a simple
>
> control-flow-only debugging tool. ReBranchK doesn't really create the
>
> process and debug it. It 'executes' the program virtually by reads the
>
> log and shows corresponding source code. It implements 's', 'b' and 'c'
>
> command. However, when writing ReBranchK, I found that, without stack
>
> information, many useful control-flow command such as 'n' and 'bt' are
>
> hard to be implemented. Therefore, I hope someone help me to put this
>
> "control-flow only debugging" function into gdbserver.
>
> > Can you clarify what do you mean by "control-flow only debugging"?
>
> >
>
> > (Note: I haven't had the time yet to read your document on ReBranch,
>
> > so I don't really know how it works or why would you need gdbserver
>
> > for replay)
>
> >
>
>
next prev parent reply other threads:[~2011-06-10 1:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-09 16:39 Nan Wang
2011-06-09 19:20 ` paawan oza
[not found] ` <bcaec5215b03b867ea04a5500b35@google.com>
2011-06-10 1:55 ` pi3orama [this message]
2011-06-10 8:04 ` paawan oza
2011-06-10 8:15 ` pi3orama
2011-06-10 9:14 ` paawan oza
2011-06-10 9:36 ` pi3orama
2011-06-10 5:51 ` Yao Qi
2011-06-10 6:39 ` pi3orama
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='BANLkTikaMxLa9GkMC_=-=dqNF608Zr0yZw@mail.gmail.com' \
--to=pi3orama@gmail.com \
--cc=gdb@sourceware.org \
--cc=paawan1982@yahoo.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