Jump to content

Record and replay debugging

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by DatabACE (talk | contribs) at 20:27, 1 October 2019 (Created new page - new category of debugging technology). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Record and replay debugging is the process of recording the execution of a software program so that it may be played back within a debugger to help diagnose and resolve defects.[1] The concept is analogous to the use of a flight data recorder to diagnose the cause of an airplane flight malfunction.[2]

Recording and replaying

Record and replay debuggers record application state at every step of the program's process and thread execution, including memory interactions, deterministic and non-deterministic inputs, system resource status, and store it to disk in a log[3]. The recording allows the program to be replayed again and again, and debugged exactly as it happened.

Usage

Recordings can be made in one location and replayed in another[4], which makes it useful for remote debugging.

Record and replay debugging is particularly useful for debugging intermittent and non-deterministic defects, which can be difficult to reproduce.

Record and replay debugging technology is often fundamental to reverse debugging and time travel debugging.

Record and replay debuggers

  • gdb (Gnu)
  • Live Recorder (Undo)
  • rr (Mozilla)
  • TotalView (RogueWave)

References

  1. ^ Mozilla. "Engineering Record And Replay For Deployability Extended Technical Report" (PDF). Cornell University arXiv. Mozilla. Retrieved 16 May 2017.
  2. ^ Zicari, Roberto. "On Software Reliability. Interview with Barry Morris and Dale Vile". ODBMS Industry Watch. ODBMS Industry Watch. Retrieved 2 April 2019.
  3. ^ Undo, Ltd. "System and method for debugging of computer programs". Google Patents. US Patent Office. Retrieved 23 February 2016.
  4. ^ Undo, Ltd. "Remote recording". Undo Documentation. Undo, Ltd. Retrieved 1 October 2019.