TotalView is a source- and machine-level debugger for multi-process, multi-threaded programs. Its wide range of tools provides ways to analyze, organize, and test programs, making it easy to isolate and identify problems in individual threads and processes in programs of great complexity. It includes two primary interfaces: the Graphical User Interface (GUI) and the Command Line Interface (CLI) running within an xterm-like window for typing commands.
Designed for developer productivity, TotalView simplifies and shortens the process of developing, debugging, and optimizing complex code. It provides a unique combination of capabilities for pinpointing and fixing hard-to-reproduce bugs, memory leaks, and performance issues. TotalView also includes deterministic reverse debugging, which allows users to pause, rewind, and playback the sessions to accurately identify and correct errors.
TotalView works with C, C++, Fortran and mixed-language Python applications. TotalView supports the latest CUDA SDK’s, NVIDIA GPU hardware, Linux x86-64, Arm64, and OpenPower platforms and applications utilizing MPI and OpenMP technologies.
The most important features of TotalView are as given below:
- Data visualization: Visibility into program data and variables
- Type transformation: Transform your custom data structures into a simpler form for debugging
- Advanced memory debugging: Dynamic memory debugging features
- Evaluation points: Evaluate expressions to go beyond simply looking at data values
- TVScript: Unattended batch debugging
- Reverse debugging: Record and replay, debugging race conditions and deadlocks in Linux applications
- Remote display: Connect from a Linux or Windows system
Introductory video: https://totalview.io/resources/getting-started-totalview