rr – record and replay debugger for C/C++ (opens in new tab)
I've used rr very sucessfully for reverse engineering a large code base using a break on variable change combined with reverse-continue. Took the time to extract critical logic way down.
Read the original article