Debug Options

Debug program options, including for parallel programs, include:

Reverse Debugging

Reverse debugging records all program state while the program is running, then allows you to roll back your program to any point.

The reverse debugging check box is visible only on Linux-x86-64 platforms. If you do not have a license for ReplayEngine, enabling the check box has no effect, and TotalView displays an error message when your program begins executing. Selecting this check box tells TotalView that it should instrument your code so that you can move back to previously executed lines.

For more information, see Using ReplayEngine.

Python debugging

TotalView supports two Python debugging modes on Linux-x86-64 platforms:

  • Mixed-language Python debugging: The Python language is easily extensible with C and C++ code. This enables Python applications to access legacy algorithms and specialized hardware, and to perform highly specialized computing. TotalView supports debugging Python extensions, shows a clean set of stack frames across the language barriers, and allows both Python and C/C++ variables to be examined and compared. For more information, see Starting a Python Debugging Session.

  • Native Python debugging: Native Python debugging allows you to debug Python programs directly in TotalView, without requiring a C or C++ extension. TotalView supports both single-process and parallel Python programs, allows you to set breakpoints in Python source code, step through execution line by line, and inspect Python variables and data structures using native Python representations. Native Python programs are launched from the command line using the TotalView Python wrapper. For more information, see Native Python debugging.

Memory debugging

Locate many of your program’s memory problems, including leak detection, heap and event reports, and the ability to identify dangling pointers.

For more information, see Starting Memory Debugging in TotalView.