Reverse Debugging

Record and replay debugging race conditions and deadlocks in Linux applications.

TotalView's reverse debugging capability records the execution history of your program and makes that history available for diagnosis. This new approach—working back from a failure, error, or crash to its root cause—eliminates the need to restart your program repeatedly with different breakpoint locations. The ability to do reverse debugging, stepping freely both forwards and backwards through program execution, drastically reduces the amount of time invested in troubleshooting your code.

Reverse debugging is supported for applications written in C, C++ or Fortran on Linux x86 or Linux x86-64 platforms. This feature also allows long-running applications to be recorded, discarding the oldest part of the history when the space required for storing execution history would exceed user-specified limits.

Reverse debugging supports recording and replaying:
  • Reverse Debugging ScreenHeap memory usage
  • Process file and network I/O
  • Thread context switches
  • Multi-threaded applications
  • MPI parallel applications
  • Distributed applications
  • Network applications