Virtual Machine-Based Replay Debugging
Replay debugging allows developers to debug recordings of programs running in virtual machines. This simple (and old) idea addresses some of the greatest challenges of software development, because a recording containing the manifestation of a bug represents an unambiguous encapsulation of that bug. Whether the bug is non-deterministic, difficult to reproduce, or just difficult to describe, the program containing the bug will behave identically each time it is replayed, allowing the developer to more easily debug it. In addition, replay debugging is non-invasive, because while debugging a replayed program behaves as it did during recording. The developer need not worry about how debugging may change the scheduling of threads, the order in which locks are acquired, or connections with external processes/machines timing out. Finally, an abstraction of reverse execution can easily be built on top of replay debugging, allowing developers to directly move (backward) from the manifestation of a bug to its origin.
VMware Workstation 6.5 includes an experimental form of replay debugging for C/C++ Windows developers using Visual Studio. We hope you will give this feature a try, and we are very interested in feedback concerning the direction it should take in future releases.
This presentation motivates and introduces replay debugging and summarizes our implementation in VMware Workstation 6.5. More information is available at http://www.replaydebugging.com/.
Speaker: E Christopher Lewis
E Lewis has been an engineer in the Advanced Development Group at VMware since 2007 where he explores novel applications of virtualization.
Before joining VMware, E was a professor (University of Pennsylvania), student (Cornell University and the University of Washington), and lay about (growing up in Vermont and North Carolina). To get away from it all, E plays guitar, knits, and teaches empathy to the unsuspecting.
Speaker: Prashant Dhamdhere
Prashant is MTS at VMware, where he is actively working on Replay Debugging technology. Before joining VMware, he worked on various aspects of storage solutions at Veritas that is now part of Symantec. Prashant brings key windows kernel expertise to team. He holds BS in Computer Science from University of Pune, India.
Speaker: Eric Xiaojian Chen
Eric is an engineering manager at VMware. He manages several projects on VM kernel driver development. Before VMware, Eric has worked at Cisco on a high end switch product for eight years. Eric holds a MBA degree from UC Berkeley and a master degree of Computer Science from Fudan University in Shanghai, China.
Google Tech Talks
October 30, 2008