Improving the performance of reverse debugging
- Authors: Klimushenkova M.A.1, Dovgalyuk P.M.1
-
Affiliations:
- Novgorod State University
- Issue: Vol 43, No 1 (2017)
- Pages: 60-66
- Section: Article
- URL: https://journal-vniispk.ru/0361-7688/article/view/176482
- DOI: https://doi.org/10.1134/S0361768817010042
- ID: 176482
Cite item
Abstract
Reverse debugging is the software development technique that effectively helps fix bugs occurring at the nondeterministic program behavior. It allows one to examine the past states of the program without rerunning it. An implementation of reverse debugging based on deterministic replay in the QEMU 2.0 emulator is described. A number of techniques improving the debugging performance due to reducing the amount of saved data, optimized storage of system snapshots, indexing, and compressing of the event log are proposed. The emulator can work together with the interactive GDB debugger, which makes it possible to use the reverse-continue, reverse-nexti, reverse-stepi and reverse-finish commands in the course of debugging. The execution time of these commands depends on the frequency of recording the system’s state snapshots. An estimate of the optimal frequency for the reverse-continue command is obtained.
About the authors
M. A. Klimushenkova
Novgorod State University
Author for correspondence.
Email: maria.klimushenkova@ispras.ru
Russian Federation, Velikii Novgorod
P. M. Dovgalyuk
Novgorod State University
Email: maria.klimushenkova@ispras.ru
Russian Federation, Velikii Novgorod
Supplementary files
