DrDebug : Deterministic Replay based Debugging with Pin

ID 662617
Updated 2/7/2015
Version Latest




TestimonialsPinPlay/DrDebug Tutorial at PLDI2016  | Dynamic Slicing (included in DrDebug distribution)


Deterministic replay debugging is a powerful tool that can help find the cause of difficult hard-to-reproduce multi-threaded 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 totally reproducible, allowing you to use multiple debugger sessions to zero in on the root cause of your problem.

DrDebug scripts  work with Intel® Software Development Emulator (Intel SDE) now (since version 7.45). Please download the SDE/PinPlay scripts package and extract it at the root of an SDE kit (version 7.45 or higher). This is for Linux* version of SDE only (gdb is required).

Also see  Dynamic Slicing (included in DrDebug distribution).



DrDebug tools/scripts are distributed with the PinPlay kit (Linux only).

More information

  1. DrDebug: Common usage examples.
  2. Testimonials

PinPlay/DrDebug tutorials

  1. Upcoming: PinPlay tutorial at PLDI2016
  2. PinPlay tutorial at PLDI2015

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. CGO 2014.
  2. PinADX: An Interface for Customizable Debugging with Dynamic Instrumentation; Gregory Lueck, Harish Patil, and Cristiano Pereira. CGO 2012. [Nominated for Best Paper Award ]
  3. PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel ProgramsHarish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, James Cownie. CGO 2010. [ CGO 2010 Best Paper Award Winner ]

Navigate toPinPlay