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: Wrong Reverse result


Post a patch for it.
http://sourceware.org/ml/gdb-patches/2009-06/msg00291.html

Hui

On Thu, Jun 11, 2009 at 13:33, Hui Zhu<teawater@gmail.com> wrote:
> I have reproduced this issue and find out the cause.
>
> infrun: TARGET_WAITKIND_STOPPED
> infrun: stop_pc = 0x8048361
> infrun: stepped into subroutine
> infrun: inserting step-resume breakpoint at 0x8048349
>
> stop_stepping is better.
>
> infrun: resume (step=0, signal=0), trap_expected=0
> infrun: prepare_to_wait
> infrun: target_wait (-1, status) =
> infrun: ? 10798 [process 10798],
> infrun: ? status->kind = no-history
> infrun: infwait_normal_state
>
> No more reverse-execution history.
> infrun: stop_stepping
> main () at 1.c:7
>
> On Thu, Jun 11, 2009 at 00:49, Marc Khouzam<marc.khouzam@ericsson.com> wrote:
>> Hi,
>>
>> I'm getting a weird behaviour in reverse, where GDB
>> jumps to far backwards.
>>
>> I have GDB HEAD from two weeks ago with the three
>> missing PRrecord patches applied (that were pinged
>> by Hui this very week).
>
> All of patches are not for prec, they are for reverse.
>
>>
>> I'm running on Ubuntu.
>> Is it me or can someone reproduce it?
>> (It happened during my presentation at the GCC summit,
>> so I have witnesses :-))
>
> I am not sure Michael in GCC summit or not. ?If so, you can let he fix
> it at there directly. ?:)
>
> Thanks for your help.
>
> Hui
>
>>
>> Thanks
>>
>> Marc
>>
>> GNU gdb (GDB) 6.8.50.20090522-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) l
>> 1 ? ? ? void foo() {
>> 2 ? ? ? ? ? return;
>> 3 ? ? ? }
>> 4
>> 5 ? ? ? int main() {
>> 6
>> 7 ? ? ? ? ? ? ? foo(); // 1
>> 8 ? ? ? ? ? ? ? foo(); // 2
>> 9 ? ? ? ? ? ? ? foo(); // 3
>> 10
>> (gdb) l
>> 11 ? ? ? ? ? ? ?return 0;
>> 12 ? ? ?}
>> (gdb) start
>> Temporary breakpoint 1 at 0x80483f7: file r.c, line 7.
>> Starting program: /home/marc/testing/a.out
>>
>> Temporary breakpoint 1, main () at r.c:7
>> 7 ? ? ? ? ? ? ? foo(); // 1
>> Current language: ?auto; currently c++
>> (gdb) record
>> (gdb) n
>> 8 ? ? ? ? ? ? ? foo(); // 2
>> (gdb) n
>> 9 ? ? ? ? ? ? ? foo(); // 3
>> (gdb) n
>> 11 ? ? ? ? ? ? ?return 0;
>> (gdb) rn
>> 9 ? ? ? ? ? ? ? foo(); // 3
>> (gdb) s
>> foo () at r.c:3
>> 3 ? ? ? }
>> (gdb) rn
>>
>> No more reverse-execution history.
>> main () at r.c:7
>> 7 ? ? ? ? ? ? ? foo(); // 1
>>
>> ======== This is weird. ?Why does it go back to the top?
>>
>


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