Tech Report CS-97-12

RDB: A System for Incremental Replay Debugging

Michael W. Shapiro

July 1997


To facilitate the process of tracking program bug symptoms to their causes while debugging, we have developed a robust architecture for program tracing and replay. RDB is a framework for program instrumentation which modifies user programs to perform complete and highly efficient tracing of an execution including interactions with the operating system and asynchronous interrupts. We have developed a library which can be plugged into existing debugging tools to add trace-and-replay functionality, and we have developed a new prototype debugger using our library which provides replay control and flowback capabilities. We discuss the design and implementation of all aspects of the system and suggest future debugging tools and techniques based on this technology. This paper is the discussion of the author's project for the degree of Master of Science, and is the culmination of two years of work in this area with Professor Robert H.B. Netzer.

(complete text in pdf or gzipped postscript)