In this video I give an introduction and a demo to the rr debugger. rr (https://rr-project.org/) is a revolutionary time-traveling debugger. It was initially developed by Robert O'Callahan and others at Mozilla for the purpose of debugging difficult to reproduce bugs in Firefox. It uses the deterministic replay technique to enable time-traveling. The ability to reverse time in debugging is a game changer. It has saved me hours of debugging time and allowed me to solve mysteries I would not otherwise have been able to solve. The ability to reverse time gives rise to some new debugging techniques. I cover one technique here called "Backup and Drill Down" and I plan to cover more in future videos.
In this second video on the rr debugger I demonstrate the technique "Start at the End". The idea is instead of starting at the beginning of the program and single stepping forward, you start at the end of the program and single step in reverse instead. This technique is very useful for scenarios where you've encountered and error and want to backtrack to find the cause of the error.