[funsec] Debugging Backwards in Time

Richard M. Smith rms at computerbytesman.com
Thu Mar 22 09:28:11 CDT 2007


What if a debugger could allow you to simply step BACKWARDS? Instead of all
that hassle with guessing where to put breakpoints and the fear of typing
"continue" one too many times... What if you could simply go backwards to
see what went wrong? This is the essence of the "Omniscient Debugger" -- it
remembers everything that happened during the run of a program, and allows
the programmer to "step backwards in time" to see what happened at any point
of the program. All variable values, all objects, all method calls, all
exceptions are recorded and the programmer can now look at anything that
happened at any time. In this talk, I will describe the design of the "ODB"
-- an implementation of Omniscient Debugging for Java programs -- and
discuss the various costs and trade-offs. The last half of the talk will be
a demonstration of the ODB, showing how the various pieces of data are
displayed and how the programmer can "navigate" through time to see what the
program was doing, where values were set, when various threads ran, etc. At
the conclusion of the talk, the audience will be invited to use the ODB to
find some actual bugs. Anyone having a laptop with Java on it can download
the ODB (beforehand!) and try using it to find the bugs themselves. 

The ODB is an experimental program under development. It is written in 100%
pure Java and has been tested under Solaris, MacOS, and Windows. It is
freely available at Bil's web
<http://www.gbcacm.org/website/www.LambdaCS.com> site 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linuxbox.org/pipermail/funsec/attachments/20070322/c3f5403c/attachment.htm

More information about the funsec mailing list