Font Size: a A A

The Design And Implementation Of Dynamic Binary Translation Based Reversible Debugger

Posted on:2009-10-22Degree:MasterType:Thesis
Country:ChinaCandidate:T LiuFull Text:PDF
GTID:2178360272478032Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the growing complexity of modern software systems, debugging is more and more important technology to diagnose faults and bugs of software, especially the technology of reversible debugging. A reversible debugger can execute program backward to historical points, which enables programmers to speed up the location of the cause of the program failure and improve the debugging efficiency dramatically. Reversible debugging is based on reversible execution. The current researches of reversible execution mainly focus on the designing new programming language to support reversible execution and the recording and replaying program's historic status through program instrumentation.This thesis studies a technology of recording and replaying program's status through program instrumentation based the technology of dynamic binary translation. And this thesis designs and implements a reversible debugger called PORD which is on the basis of the technology. PORD mainly includes two parts, one is virtual machine based the modified QEMU to run the debuggee, and another is R-GDB based the modified GDB to interpret user commands. R-GDB communicates with virtual machine through the modified gdb remote debugging protocol. R-GDB interprets the user command and notifies the virtual machine to execute corresponding actions. PORD provides two modes in reverse execution: Binary-Translate and Binary-Copy mode. Binary-Translate mode is applied to the case that the guest application and the host platform possess different instruction-set architecture. This mode enables the cross-platform reverse debugging. When the guest application and the host platform are constructed with the same instruction-set architecture, Binary-Copy mode is employed.The experiment in this thesis shows that PORD can backtrack to historic point fast and efficiently to reconstruct program's historic status.
Keywords/Search Tags:dynamic binary translation, reverse execution, reversible debugging, software debugging
PDF Full Text Request
Related items