Process Record and Replay
Process record and replay is a gdb feature first appearing in the 7.0 release (September 2009).
For supported architectures and OS/ABIs, this feature allows the user to record the execution of a program being debugged by gdb, and then "play back" the recorded execution, deterministicly and repeatedly if desired.
Process record and replay also supports gdb's [ReverseDebugging | reverse debugging] commands, so that during replay it is possible to debug the program backward as well as forward.
Process record and replay is currently supported for the following gdb targets: