English

Temporal Debugging using URDB

Operating Systems 2009-10-28 v1 Software Engineering

Abstract

A new style of temporal debugging is proposed. The new URDB debugger can employ such techniques as temporal search for finding an underlying fault that is causing a bug. This improves on the standard iterative debugging style, which iteratively re-executes a program under debugger control in the search for the underlying fault. URDB acts as a meta-debugger, with current support for four widely used debuggers: gdb, MATLAB, python, and perl. Support for a new debugger can be added in a few hours. Among its points of novelty are: (i) the first reversible debuggers for MATLAB, python, and perl; (ii) support for today's multi-core architectures; (iii) reversible debugging of multi-process and distributed computations; and (iv) temporal search on changes in program expressions. URDB gains its reversibility and temporal abilities through the fast checkpoint-restart capability of DMTCP (Distributed MultiThreaded CheckPointing). The recently enhanced DMTCP also adds ptrace support, enabling one to freeze, migrate, and replicate debugging sessions.

Keywords

Cite

@article{arxiv.0910.5046,
  title  = {Temporal Debugging using URDB},
  author = {Ana Maria Visan and Artem Polyakov and Praveen S. Solanki and Kapil Arya and Tyler Denniston and Gene Cooperman},
  journal= {arXiv preprint arXiv:0910.5046},
  year   = {2009}
}

Comments

20 pages, 3 figures, 5 tables; software at urdb.sourceforge.net

R2 v1 2026-06-21T14:03:40.832Z