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: Process Record and Remote debugging


Hi Marc,

This is because "rdtsc" instruction still not support.

Thanks,
Hui

On Fri, Jan 30, 2009 at 04:51, Marc Khouzam <marc.khouzam@ericsson.com> wrote:
> Hi,
>
> As Process Record and Replay is in the process of being submitted and I
> would
> really like to see it accepted, I thought it would be useful to report
> the small problems I found, while using it.
>
> I was pleasantly surprised to find out I was able to do reverse
> debugging
> when attaching to an already running process.  This is great!
>
> I then tried remote reverse debugging using gdbserver.  It performed
> better
> than I expected, but I saw two problems.
>
> 1- After you run the 'target' command and are connected to gdbserver,
> the program is considered running; so instead of run, one must use
> continue; that seems to allow for the 'record' command to be used right
> away
> after the 'target' command.  However, when I do that and then try to
> 'continue' Process Record gives an error and the program cannot run.
>
> The workaround is to set a breakpoint on main(), 'continue' and -then-
> turn on 'record'.  The error I get is shown in the small session at the
> end of the mail.
>
> 2- For some reason, when doing remote debugging with record on, when
> I step over a printf GDB takes many seconds to come back.  And when I
> tried to step over a malloc, I didn't have the patience to wait for
> GDB to come back, it was so long.  Without 'record' it of course works.
>
> Considering I didn't think Process Record worked with attach or remote
> debugging, I was very impressed with these finding.
>
> Marc
>
>
>
> GNU gdb (GDB) 6.8.50.20090113-cvs
> Copyright (C) 2009 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> (gdb) target remote localhost:10008
> Remote debugging using localhost:10008
> 0xb7f9d840 in _start () from /lib/ld-linux.so.2
> (gdb) b main
> Breakpoint 1 at 0x8048a7f: file ../testapp.cc, line 195.
> (gdb) record
> (gdb) c
> Continuing.
> Process record doesn't support instruction rdtsc.
> Process record doesn't support instruction 0xf31 at address 0xb7f9dfa7.
> 0xb7f9dfa7 in _dl_start () from /lib/ld-linux.so.2
> Process record: failed to record execution log.
>


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