This is the mail archive of the
mailing list for the GDB project.
Re: ReBranch - a record-replay debugging tool
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb at sourceware dot org
- Cc: pi3orama <pi3orama at gmail dot com>
- Date: Thu, 9 Jun 2011 10:27:20 +0100
- Subject: Re: ReBranch - a record-replay debugging tool
- References: <firstname.lastname@example.org> <4DF0748B.email@example.com>
On Thursday 09 June 2011 08:21:47, pi3orama wrote:
> I developed a new record-replay tool -- ReBranch
> (http://code.google.com/p/rebranch/), which focus on debugging
> non-deterministic bugs. ReBranch can record the outgoing addresses of
> every branch instructions, and recreate the whole control flow when
> debugging. I have use it to fix some bugs in real open source projects
> such as lighttpd and memcached. Unfortunately, few people knows this
> project at google code, so nearly no one uses it.
> I know that GDB has its own record-replay. However, I still believe
> ReBranch is useful: ReBranch focus on recording in production systems,
> its record performance is better than GDB's recording, it can record
> whole program path (GDB can only record part of it), and most important,
> ReBranch can be used in multi-threading programs.
Can you outline ReBranch's record/replay strategy, and how it differs
from GDB's record?
> I send this mail because I eagerly expect people to use my tool on their
> developing process, and help me to improve it. And also, I want the
> replay tool to be more integrated with GDB -- currently ReBranch use a
> modified gdbserver to do the replay work, however, because ReBranch only
> records control-flow, the replay performance is far from prefect.
Since it based on modified gdbserver sources, making it a derivative
work, it must be GPLv3, right? I ask because the website says