Practical Object-Oriented Back-in-Time Debugging
Practical Object-Oriented Back-in-Time Debugging
复制标题
实用的面向对象的实时回溯调试
DOI:
10.1007/978-3-540-70592-5_25
复制
发表时间:
2008
期刊:
影响因子:
--
通讯作者:
Oscar Nierstrasz
中科院分区:
文献类型:
--
作者:
Adrian Lienhard;Tudor Gîrba;Oscar Nierstrasz
Back-in-time debuggers are extremely useful tools for identifying the causes of bugs. Unfortunately the "omniscient" approaches that try to remember allprevious states are impractical because they consume too much space or they are far too slow. Several approaches rely on heuristics to limit these penalties, but they ultimately end up throwing out too much relevant information. In this paper we propose a practical approach that attempts to keep track of only the relevant data. In contrast to other approaches, we keep object history information together with the regular objects in the application memory. Although seemingly counter-intuitive, this approach has the effect that data not reachable from current application objects (and hence, no longer relevant) is garbage collected. We describe the technical details of our approach, and we present benchmarks that demonstrate that memory consumption stays within practical bounds. Furthermore, the performance penalty is significantly less than with other approaches.