vix.ing · top · new · best · stats · spec

Implementation of Live Reverse Debugging in LLDB

2021/05/26 by Anthony Savidis, Savidis, Anthony, Vangelis Tsiatsianas +1 · 1 citation
Computer Science · #Advanced Malware Detection Techniques #FOS: Computer and information sciences #Programming Languages (cs.PL) #Security and Verification in Computing #Software Engineering (cs.SE) #Software Testing and Debugging Techniques #cs.PL #cs.SE

paper · pdf · doi:10.48550/arxiv.2105.12819

28 pages, 32 figures

openalex publication_date 2021/05/26 · arxiv created 2021/08/03 · arxiv updated 2021/08/05 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Debugging is an essential process with a large share of the development effort, being a relentless quest for offensive code through tracing, inspection and iterative running sessions. Probably every developer has been in a situation with a clear wish to rewind time just for a while, only to retry some actions alternatively, instead of restarting the entire session. Well, the genie to fulfill such a wish is known as a reverse debugger. Their inherent technical complexity makes them very hard to implement, while the imposed execution overhead turns them to less preferable for adoption. There are only a few available, most being off-line tools, working on recorded, previously run, sessions. We consider live reverse debuggers both challenging and promising, since they can fit into existing forward debuggers, and we developed the first live reverse debugger on top of LLDB, discussing in detail our implementation approach.

Cited by

Related