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
N. Doi
中科院分区:
--
文献类型:
--
作者:
Toshihiko Koju;Shingo Takada;N. Doi

文献摘要

被引文献

相似文献

程序的反向执行是及时向后执行程序的函数。可逆调试器是提供此类功能的调试器。在本文中,我们提出了一个新颖的可逆调试器,该调试器可以反向用C语言编写的程序进行反向执行。我们的方法采用基于虚拟机的方法。在这种方法中,目标程序在特殊的虚拟机上执行。我们在本文中的贡献是两个方面。首先,我们提出了一种可以解决(1)兼容性和(2)先前工作中效率的问题。通过兼容性,我们的意思是以前的辩论者不是通用的,即他们仅支持一种特殊的语言或特殊的中间代码。其次,我们的方法提供了两种执行模式:本机模式,其中调试在实际CPU上直接执行,而虚拟机模式在虚拟机上执行了DebugGee。当前,我们的调试器提供四种类型的权衡设置(按单元和优化指定),以考虑粒度,准确性,开销和内存要求之间的权衡。用户可以在调试期间灵活地选择适当的设置,而无需完成和重新启动调试。
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.