DrDebug: Deterministic Replay-Based Debugging with Pin

Pin Toolkits

  • Download Pin kits here.

  • Before using Pin, please read the license.

Overview

Deterministic replay debugging is a powerful tool that can help find the cause of difficult, hard-to-reproduce multithreaded bugs. Consider using replay debugging if your application fails sporadically or if the details of the failure change from run to run. Replay debugging makes your failure reproducible, allowing you to use multiple debugger sessions to zero in on the root cause of your problem.

Get DrDebug Information on GitHub*

PinPlay and DrDebug Tutorials

Use PinPlay for Reproducible Analysis and Replay Debugging (from Programming Language Design and Implementation (PLDI): 2015 | 2016

Related Content

DrDebug: Examples of Common Uses

PinPlay Overview

PinPlay Testimonials

Related Publications

  1. DrDebug: Deterministic Replay-Based Cyclic Debugging with Dynamic Slicing; Yan Wang, Harish Patil, Cristiano Pereira, Gregory Lueck, Rajiv Gupta, and Iulian Neamtiu. International Symposium on Code Generation and Optimization (CGO) 2014.
  2. PinADX: An Interface for Customizable Debugging with Dynamic Instrumentation; Gregory Lueck, Harish Patil, and Cristiano Pereira. CGO 2012. (Nominated for a Best Paper Award)
  3. PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs; Harish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, and James Cownie. CGO 2010. (CGO 2010 Best Paper Award winner)