An efficient and generic reversible debugger using the virtual machine based approach
An efficient and generic reversible debugger using the virtual machine based approach
复制标题
使用基于虚拟机的方法的高效通用可逆调试器
DOI:
10.1145/1064979.1064992
复制
发表时间:
2005
期刊:
影响因子:
--
通讯作者:
N. Doi
中科院分区:
文献类型:
--
作者:
Toshihiko Koju;Shingo Takada;N. Doi
The reverse execution of programs is a function where programs are executed backward in time. A reversible debugger is a debugger that provides such a functionality. In this paper, we propose a novel reversible debugger that enables reverse execution of programs written in the C language. Our approach takes the virtual machine based approach. In this approach, the target program is executed on a special virtual machine. Our contribution in this paper is two-fold. First, we propose an approach that can address problems of (1) compatibility and (2) efficiency that exist in previous works. By compatibility, we mean that previous debuggers are not generic, i.e., they support only a special language or special intermediate code. Second, our approach provides two execution modes: the native mode, where the debuggee is directly executed on a real CPU, and the virtual machine mode, where the debuggee is executed on a virtual machine. Currently, our debugger provides four types of trade-off settings (designated by unit and optimization) to consider trade-offs between granularity, accuracy, overhead and memory requirement. The user can choose the appropriate setting flexibly during debugging without finishing and restarting the debuggee.