Fix your hardest bugs with ease with Time Travel Debugging
Greg Law
Everyone knows that debugging is twice as hard as writing the code in the first place. Most of the challenge is figuring what really happened -- where reality diverged from your mental model. Printf and regular debuggers are pretty painful ways to figure this out, but until recently they were really all we had.
Today there is a new generation of debugging tools: time travel debuggers. These let you wind back your program to any line of code that executed and see any the value of any variable, any location in memory or register. You can see exactly what happened. No more guesswork, no more uncertainty. Full root cause analysis becomes almost trivial.
These tools appear almost magical, too good to be true. But the current generation of time travel debuggers work at scale, and are practical for use on programs that have terabytes of working set and run for days.
In this talk we show how you use a time travel debugger, and how it will change the way you write code for ever. We also get into some of the details of how these seemingly magically tools are implemented.
Greg Law
Greg is a co-founder of Undo.io. He is a coder at heart, but likes to bridge the gap between the business and software worlds.
Greg's background is in systems software development (operating systems, networking and tooling), and he has held development and management roles at companies including the pioneering British computer firm Acorn, as well as fast-growing start ups, NexWave and Solarflare. It was at Acorn that Greg met Julian and on evenings and weekends, they invented the core technology that would eventually become Undo.
Greg holds a PhD from City University, London and was nominated for the 2001 British Computer Society Distinguished Dissertation Award. He lives in Cambridge, UK with his wife Alison, their two children, two dogs and two cats. In his spare time, Greg catches up on email.