J4

• Original Articles • Previous Articles     Next Articles

Portable and optimized reversible debugger

LIU Xi-yang;LIU Tao;BAI Zhi-wen;WANG Yan;MU Hao-ying
  

  1. (Research Inst. of Software Engineering, Xidian Univ., Xi’an 710071, China)
  • Received:2007-11-26 Revised:1900-01-01 Online:2009-02-20 Published:2009-02-10
  • Contact: LIU Xi-yang E-mail:xiyangliu@gmail.com

Abstract: Due to the low debugging efficiency of large scale software systems and the unrepeatable problem of concurrent program errors, we design a portable and optimized reversible debugging framework based on the Virtual Machine and present a prototype of the reversible debugger called PORD. PORD dynamically translates the executable binary code of the debuggee and instruments code at checkpoints to save execution states. When the debugee runs, the log of execution states is generated dynamically and incrementally. The extended GDB integrated in PORD controls the virtual machine remotely, and restores history states of debuggee according to the state log. If the Instruction Set Architecture of the debuggee is the same as that of the host, dynamic binary translation is replaced by dynamic binary copying for optimization, which enables the debugee to gain a near native speed. Experiments illustrate that PORD provides an efficient and portable software debugging environment at a reasonable speed.

Key words: dynamic binary translation, reversible debugging, reverse execution, checkpoint

CLC Number: 

  • TP311.5