TotalView delivers unbeatable platform, language, and compiler support for C, C++, and mixed-language Python – C/C++ applications.

GET LATEST RELEASE    TRY FOR FREE

LATEST RELEASE

TotalView 2020.2

CUDA 11 Support

The TotalView 2020.2 release adds support for CUDA 11 enabling debugging support on NVIDIA’s latest CUDA 11 based applications.

Remote Display Client Updated

TotalView’s Remote Display Client (RDC) has been updated for the Linux and macOS platforms. The Windows version of the RDC will be updated soon as well. The RDC is a convenient tool for easily setting up a remote debugging session. The RDC is distributed as part of TotalView. Simply install the RDC on your laptop or workstation using the GUI installer and set up a session to the remote system you will debug on.

Watch this short video on getting started with RDC. >>

TotalView Solaris Platform Ported to 64-bits

TotalView on Solaris has been ported to a 64-bit application. This enables TotalView to debug very large targets with gigabytes of debug information.

"Dive-in-All" to View a Structure Member Across an Array

When debugging an array of structures, it is often desirable to focus on one of the structure members across the entire array. The TotalView 2020.2 release adds the ability to focus on a specific structure’s data member by simply right-clicking on the data member and selecting “Dive-in-All”. The resulting array can be analyzed with various array tools such as Array Statistics.

TotalView Dive-in-All Screenshot
TotalView Dive-in-All Screenshot 2

Easily Focus on Specific Data in New Data Views

For the 2020.2 release, TotalView has added the ability to easily focus on a data expression in a new Data View. This allows users to view and analyze the data in a dedicated View without having to scroll past other rows of data.

TotalView Dive-in-Data Screenshot
TotalView Dive-in-Data Screenshot 2

New User Interface Improvements

TotalView’s new user interface is available by default for new users and is activated through the Display Preferences panel or using the -newUI command line option for existing TotalView users. The TotalView team continues to work hard and deliver new enhancements and improvements to make debugging your applications even easier. If you have any feedback about the new user interface, requests for new or missing features or any problems please send an email to a [email protected].

Watch this short video on getting started with the new UI. >>

Bug Fixes and Performance Improvements

Numerous bug fixes and performance improvements have been made to TotalView.

For more details please refer to the TotalView release notes.

TotalView 2020.1

FlexNet Publisher License Update

The version of FlexNet Publisher used for licensing in TotalView has been updated to version 11.16.6 in order to address multiple security vulnerabilities in FlexNet Publisher. Due to this upgrade, you will need to update your FlexNet license server. See "FlexNet Update in the Updating an Existing License" in the TotalView Installation Guide for additional details.

macOS Catalina Support

For the 2020.1 release, TotalView has added support for macOS Catalina.

Stepping and Local Variable View Performance Updates

Significant performance and optimization improvements have been made to the user interface handling of stepping and next’ing operations. The Local Variable view has also been heavily updated to perform better when it fetches the values of local variables after a target program halts execution.

Array Statistics View Auto Update

The Array Statistics view has a new Auto Update toggle that, when enabled, will automatically generate updated array statistics when the process halts execution such as between stepping operations or when breakpoints are hit.

Array Stats Auto Update

FlexNet Embedded Failover Server Support

For customers using FlexNet Embedded style licenses, support for a failover license server is now available. To set up a failover server, the TotalView license team will need the Host ID for each of the hosts running the license servers in order to generate a proper license. Once the license is ready, see “Installing a Failover Server” in the TotalView Installation Guide for the simple procedure in setting up the servers.

New User Interface Improvements

TotalView’s new user interface is available by default for new users and is activated through the Display Preferences panel or using the -newUI command line option for existing TotalView users. The TotalView team continues to work hard and deliver new enhancements and improvements to make debugging your applications even easier. If you have any feedback about the new user interface, requests for new or missing features, or any problems please send an email to [email protected].

Bug Fixes and Performance Improvements

Numerous bug fixes and performance improvements have been made to TotalView including improving performance when setting of breakpoints across a parallel job and when holding and stopping a group of processes.

Other Improvements

In addition to the great new features, TotalView continues to move forward in its support of operating systems and compilers including the added support for GNU GCC and GFortran 9 in this release.

For more details please refer to the TotalView release notes.

TotalView 2020

Easily Identify, Analyze, and Debug Specific Threads

Developers are utilizing threads in their applications will often label specific threads with a name to identify their role. The ability for TotalView to read this thread name and display it to the user helps them easily identify the specific thread from amongst the other threads in the application. There are also various internal IDs associated with a thread. Traditionally, TotalView has displayed its own thread ID as well as the system thread id. Users also identify threads through the common light weight process (LWP) id. For the TotalView 2020 release, the LWP is displayed allowing developers to easily utilize the thread id as they are debugging the application.

Image Whats New 2020 Processes Threads View

Monitor Data Integrity Issues in Specific Arrays (Array Statistics View)

Developers debugging their array data often need to run various statistical operations to look for data integrity issues. TotalView’s new UI provides the Array Statistics View to display various statistics about a selected array. Through the view users can adjust the dimensions and stride of the array elements in order to narrow the statistics to a segment of the array.

Image Whats New 2020 Array Stats With Source

Product and Documentation Perforce Rebranding

TotalView software has been updated to include TotalView by Perforce logos. The TotalView documentation has also been redesigned with a new look-and-feel and more powerful search capabilities.

New User Interface Improvements

TotalView’s new user interface is available by default for new users and is activated through the Display Preferences panel or using the -newUI command line option for existing TotalView users. The TotalView team continues to work hard and deliver new enhancements and improvements to make debugging your applications even easier. If you have any feedback about the new user interface, requests for new or missing features or any problems please send email us.

Expanded Support for Operating Systems and Compilers

In addition to the great new features, TotalView continues to move forward in its support of operating systems and compilers including the added support for RHEL/CentOS 8 and Intel Parallel Studio XE 2020 in this release.

For more details please refer to the TotalView release notes.

TotalView 2019.3

Cray Debugging Improvements

Building on the TotalView Reverse Connect functionality released in TotalView 2019.3, numerous improvements and bug fixes have been made in this release that make it much easier and more reliable to establish interactive debugging sessions on Cray supercomputers.

ARM and NVIDIA GPU Server Debugging Support

Earlier this year TotalView added initial ARM and NVIDIA GPU support for the NVIDIA Jetson AGX Xavier.  For the 2019.3 release, TotalView has expanded its ARM and NVIDIA GPU support to include the latest ARM/NVIDIA GPU Servers and latest version of the CUDA SDKs.  This addition extends TotalView’s already strong GPU debugging support on Linux x86-64 and IBM PowerLE platforms and brings the same powerful debugging capabilities to the ARM platform.

TotalView Tcl Engine Update

The internal TotalView Tcl engine has been updated to version 8.6.9 the 2019.3 release.  This new version brings numerous new Tcl features over our previous 8.4.7 version.  TotalView’s CLI is built around the Tcl interpreter but there are no changes to the CLI commands or functionality due to this upgrade.

Filtering dlopen Events Improvements to Increase Startup Performance

TotalView monitors shared libraries that are dynamically loaded by target processes. One way to improve start-up performance is to configure TotalView to defer processing shared library load events. Two state variables and their related command line options enable you to defer processing dlopen() events so that breakpoint specifications are reevaluated only when the process stops for some other reason. For the 2019.3 release, the TV::dlopen_recalculate_on_match variable now accepts negated glob matching patterns, which allows deferring dlopen() event processing for library path names that match the glob pattern. Further, the glob pattern matching used in TV::dlopen_recalculate_on_match is now equivalent to Tcl's string match command. See the Tcl documentation for the glob pattern rules used by Tcl's string match. Note that previously, TotalView used non-standard "simplified" glob matching rules, which covered two cases: (1) String search match was used if the pattern ended in "*". For example, the pattern "libfoo*" would match if "libfoo" appeared anywhere in the library path name. The equivalent string match pattern is "*libfoo*". (2) Tail match was used if the pattern did not end in "*". For example, the pattern "libbar.so" would match if the library path name ended in libbar.so". The equivalent string match pattern is "*libbar.so" . For more information on controlling TotalView’s processing of dlopen events see Filtering dlopen Events in Debugging Your Program’s Dynamically Loaded Libraries in Chapter 10 of the TotalView reference guide.

New User Interface Improvements

TotalView’s new user interface, activated by default for new TotalView users or through the Display Preferences panel or using the -newUI command line option, continues to deliver new enhancements to make debugging your applications even easier.  If you have any feedback about the new user interface, requests for new or missing features or any problems please email us.

Image What's New 2019.3 Documents View
Documents view

Easily switch between open documents with the new Documents View

During your debugging session you may end up with many files open. Managing all the open tabs can be difficult.  The new Documents view makes it easy to switch between the open documents so you can quickly jump to the source file you need to debug.

Detach from processes in debugging session

The ability to detach from individual or groups of processes has been added to the TotalView’s new UI in the 2019.3 release.  This allows developers to better manage their debugging sessions and focus on only the processes they need to debug.  To use the new functionality select Detach from either the Group or Process menu.

Bug fixes and performance improvements

Numerous bug fixes and performance improvements have been made to the new UI including properly focusing on main for MPI, execve, and Fortran applications.

For more details please refer to the TotalView release notes.

TotalView 2019.2

TotalView Reverse Connect

The organization of modern HPC systems often makes it difficult to deploy tools such as TotalView. For example, the compute nodes in a cluster may not have access to any X libraries or X forwarding, so launching a GUI on a compute node is not possible.

Using the new Reverse Connect feature, you can easily establish a connection where the TotalView UI is running on a front-end node and debugging a job executing on compute nodes.

The basic process is to embed the tvconnect command in a batch script; when the batch job runs, the tvconnect process connects with the TotalView client to start the debugger server process on the batch node. The TotalView client would typically run on a front-end node, where the application is built and batch jobs are submitted. For more information, see Chapter 18, Reverse Connections, in the TotalView User Guide.

Debugging Through Starter Shell Scripts

Often developers will wrap the startup sequence of their application with a shell script in order to set up the run time environment for the application and then run it. The scripts would often need a special “debug” switch in order to start the application under TotalView. In the 2019.2 release, TotalView has been enhanced to understand when given a shell script as the debug target and will chain through the startup sequence of the shell script, including recursing through multiple startup scripts if needed, to find the resulting target that should be debugged.

Python pybind/pybind11 Debugging Support

TotalView’s mixed-language Python and C++ debugging support now properly identifies pybind/pybind11 callstack intermediate frames and will remove them so that a clean call sequence between Python and C++ is presented.

Image What's New 2019.2 Pybind Intermediate Frames
Pybind intermediate frames
Image What's New 2019.2 Cleaned Pybind Frames
Cleaned up pybind frames

Automatic Process/Thread Breakpoint Focus Preference Change

In past releases, the “Automatically focus on threads/processes at breakpoint” preference was defaulted to false. This often creates confusion during a debugging session when a thread or process not in focus hits a breakpoint and stops. In this case, the process/thread is not automatically brought into focus. Users have to manually examine the set of processes and threads and change the focus. For the 2019.2 release, we have changed the preference default to true so that any process or thread that hits a breakpoint will be brought into focus in your debugging session. If you prefer the old behavior, simply change the preference in the Action Points tab in the Preferences dialog or add “dset TV::GUI::pop_at_breakpoint false” to your .tvdrc file.

New User Interface Improvements

TotalView’s new user interface, activated through the Display Preferences panel or using the -newUI command line option, continues to deliver new enhancements to make debugging your applications even easier. If you have any feedback about the new user interface, requests for new or missing features or any problems please email us

Local Variable View

In previous releases, the Local Variable tab was part of the Call Stack View and locked in a set position as part of the view. For TotalView 2019.2, the display of local variables has been broken out into its own view. This enables users to move the view to new locations or even undock it completely. In addition, the local variable view functionality has been overhauled and allows structures to be expanded in place.

New Input/Output View

In the TotalView 2019.1 release, the ability to debug applications requiring standard input was added. The default use case is for users to enter the input in the terminal that TotalView as launched in. In the 2019.2 release, we’ve added the ability to enter this input directly in the user interface instead of through the terminal. To activate this workflow, turn on the “Input Output view support” in the RW Labs tab on the Preferences dialog and restart the debugger. A new Input/Output view will be available that allows you to enter input to your running application.

Image What's New 2019.2 Input Output View
Activate the new Input/Output View under RW Labs

Change new UI font size

The ability to change the overall font size for the user interface has been added to the TotalView 2019.2 release. To change the font size, bring up the Preferences dialog and select the Display tab. Use the Font Size slider to change the font size to small, medium, large or extra-large. The default font size is medium. The next time you start TotalView the UI will use the specified font size.

Image What's New 2019.2 Font Slider
Font Size slider on Preferences Display tab

Bug fixes and performance improvements

Numerous bug fixes and performance improvements have been made to the new UI including properly focusing on main for MPI, execve and Fortran applications.

Improved Support

In addition to the great new features, TotalView continues to move forward in its support of operating systems and compilers including the added support of Fedora 30 and GCC 9 for this release.

For more details please refer to the TotalView release notes.

TotalView 2019.1

Embedded/Edge Debugging Support for NVIDIA Jetson AGX Xavier

The NVIDIA® Jetson AGX Xavier™ platform offers amazing compute capabilities at the fraction of the size and cost of a workstation making it a perfect fit for a variety of autonomous machine applications. 

With the 2019.1 release, developers can use the full power of TotalView to debug their CUDA-based autonomous machine applications running on the Xavier’s ARM 64-bit CPU and 512-Core Volta GPU architecture including using TotalView’s memory debugging technologies to find memory leaks and other memory problems in your code.

User Interface Options – Dark Theme Now Available

TotalView’s new interface was built from the start to support multiple themes and for the 2019.1 release a dark theme is now available!  To enable the dark theme simply select the Dark icon from the Display tab on the Preferences dialog, click OK, and then restart TotalView. When TotalView restarts the user interface will be transformed into the new dark theme! Read more about why and how to use the new dark-themed user interface in this blog.

Image What's New 2019.1 Display Settings
Display settings
Image What's New 2019.1 Dark Theme
Dark theme

Support for Debugging in Python 3

For the 2019.1 release, TotalView’s ability to debug mixed language Python and C/C++ applications has been enhanced to support Python 3.5 and above.  Testing has been done on a variety of OS Python distributions as well as the Enthought Python distribution.  The Anaconda Python distribution is not supported due to the unavailability of debug information with the distribution.

FlexNet Embedded Support on macOS

The macOS platform has been updated to also support FlexNet Embedded style tokens. This enables customers sharing tokens between Linux ARM64, Linux PowerLE and Linux x86-64 to now share them with macOS versions of TotalView too.

Improved User Interface

TotalView’s new user interface, activated through the Display Preferences panel or using the -newUI command line option, continues to deliver new enhancements to make debugging your applications even easier.  If you have any feedback about the new user interface, requests for new or missing features or any problems please email us.

  • Debugging standard input (stdin) based applications is now supported.
  • Numerous bug fixes and performance improvements have been made to the new UI including improving the performance of UI updates when stepping applications and displaying large source files with many breakpoints.

Stability Improvements and Platform Updates

For the 2019.1 release, TotalView has added operating system support for SuSE/SLES 15 and the PGI 18.10 compiler. Numerous user-reported bug fixes have also been fixed in this release.

For more details please refer to the TotalView release notes.

Image What's New 2019.1 Local Variable View
Local variable view