This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GDB record target 0.0.1 for GDB-6.6 release (It make GDB support Reversible Debugging)


On 8/11/07, Daniel Jacobowitz <drow@false.org> wrote:
> On Fri, Aug 10, 2007 at 05:31:51PM +0800, teawater wrote:
> > Hi All,
> >
> > The attachment is a patch for the GDB-6.6 that will add two commands
> > ("record" and "reverse") and a new target "record" to the GDB-6.6.
> >
> > The command "record" can record running message such as the program pc
> > register value and some frame message to a record file that default
> > name is "now.rec".
> >
> > The target "record" can open this record file and debug the program.
> > And if the current target is the "record", you can use command
> > "reverse" set debug to the reverse debug mode. If you set GDB to the
> > reverse debug mode. The program will reverse run. Most of GDB command
> > such as "step", "next" and "breakpoint" can be use in this mode.
> >
> > Maybe the record function can make GDB debug real time program more
> > easy than before because you can record all the running message when
> > the real time program cannot be interrupt and debug it after it was
> > running.
>
> I took a look at your patch.  The record command single steps the
> program until it exits, right?  That will not be very useful for real
> time programs, because it will be extraordinarily slow the first time.
>

The CPU speed is more and more high.
BTW:This command is not very complete. I will make record can only
record a part of code.

> You might want to take a look at my paper in this year's GCC Summit
> proceedings:
>
>   http://gcc.gnu.org/wiki/HomePage?action=AttachFile&do=get&target=GCC2007-Proceedings.pdf
>
> We'll be publishing the code for "reverse-step" using qemu soon.
> We're not trying to hold on to it, especially - just haven't found the
> time yet to submit it.  This is basically similar to what you've done,
> except higher performance.
>

The user need install a QEMU first?
The record can work with host debug and the other target such as sim,
remote and don't need other software.
 BTW: I think if the user want reverse execute to the real past status
of program, record all of the running message is the only way. Because
a lot of thing cannot be reverse execute such a system call. If the
program write some message to a file, howto reverse execute it? Remove
this message from the fire?

> Actually, your work also reminds me of Amber:
>   http://weblogs.mozillazine.org/roc/archives/2006/12/more_about_ambe.html
>
> --
> Daniel Jacobowitz
> CodeSourcery
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]