So the pointer is invalid. That is probably one of the ->next fields in usrloc records list.
Can you go to frame 1 and print ptr there:
frame 1 p *ptr
The interesting file should be the ptr->next.
If it is not 0x696c2f36, then print *ptr->next, then *ptr->next->next until it gets the ->next value 0x696c2f36. I wonder if there are other invalid values on the ptr, or just ->next.
Cheers, Daniel
On 11/18/13 10:48 AM, jh@tutpro.com wrote:
One more thing, give also the output for:
p *ptr
in frame 0, if not printed by the bt full.
(gdb) frame 0 #0 0xb56b41bd in wb_timer (_r=<optimized out>) at urecord.c:319 319 in urecord.c (gdb) p *ptr Cannot access memory at address 0x696c2f36 (gdb)
-- juha