This is the mail archive of the
mailing list for the GDB project.
Re: Process Record and Remote debugging
This is because "rdtsc" instruction still not support.
On Fri, Jan 30, 2009 at 04:51, Marc Khouzam <firstname.lastname@example.org> wrote:
> As Process Record and Replay is in the process of being submitted and I
> 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
> when attaching to an already running process. This is great!
> I then tried remote reverse debugging using gdbserver. It performed
> 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
> 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.
> GNU gdb (GDB) 188.8.131.5290113-cvs
> Copyright (C) 2009 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> and "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu".
> For bug reporting instructions, please see:
> (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
> 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.