Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* real world reverse debugging success story
@ 2009-11-12  1:09 Michael Snyder
  2009-11-12  1:18 ` Marc Khouzam
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Snyder @ 2009-11-12  1:09 UTC (permalink / raw)
  To: gdb

Hey guys,

Just wanted to make note that I used reverse debugging to
solve a real world gdb bug (the recently submitted one for
dcache.c).

First I found where the lists were cross-linked, then I put
watchpoints on the list elements that were crossed, and ran
backwards.  One watchpoint took me to dcache_alloc, and the
other to dcache_invalidate.

Then I used some bookmarks to look at the state of the list
before and after, and close in on the actual problem (which
was in fact in another function).

Doug rewrote my patch (thanks Doug), but he verified that
the actual bug was exactly what process record revealed it
to be.

Whee!
Michael

Stats: used an 8 million instruction cache, running as a
ring buffer.  Had to record over 80 million instructions
before I tripped the bug.  Saved core file with record log
was 250 megabytes, and reloaded fine.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-11-12  3:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-12  1:09 real world reverse debugging success story Michael Snyder
2009-11-12  1:18 ` Marc Khouzam
2009-11-12  3:38   ` Michael Snyder
2009-11-12 20:53     ` Michael Snyder
2009-11-12 21:07       ` Marc Khouzam
2009-11-12 21:19     ` Sean Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox