TotalView 2018.2 continues its steady progress forward to add improved debugging features and capabilities so that developers can quickly understand, diagnose, and fix issues in your complex C, C++, Fortran, and Python code.
Let’s take a look at the new features and improvements in 2018.2.
TotalView “What’s New” splash screen
In order to better promote new features in TotalView, a What’s New splash screen will be displayed after a new version of the product is installed. The dialog provides convenient information about the latest new features and links to learn more about them. The splash screen can easily be dismissed and not shown again until the next new release is installed. To view the What’s New dialog again, simply select the “What’s New in TotalView” menu item from the Help menu.
TotalView’s new “NextGen” UI officially supported
Starting with 2018.2, TotalView’s new user interface is now officially supported and no longer an Early Access feature. For existing TotalView users, the default UI is still the TotalView Classic UI, but the default can easily be changed by changing the preference on the Display tab in the Preferences dialog. For brand new TotalView users, the new UI will be displayed by default. New features continue to be added to the new UI. Your feedback helps prioritize what features from the Classic UI need to be added to the new UI. Please send email with your thoughts about the new UI and any feature requests.
CUDA debugging model and unified display improvements
With the 2018.2 release, TotalView improves on the ability to easily set action points within CUDA applications and applications that dynamically load shared libraries with dlopen. In either case, until the CUDA or shared library code is loaded, the information required for setting a breakpoint is not available to the debugger. To address this issue, TotalView now allows setting a breakpoint on any line in the Source View, whether or not it can identify executable code for that line. The breakpoint becomes either a pending breakpoint or a sliding breakpoint until the CUDA or shared library code is loaded at runtime. For more information, see Chapter 27, CUDA Debugging Model and Unified Display, in the TotalView for HPC User Guide.
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.
• Welcome to TotalView’s New UI page: A “Welcome to TotalView’s New UI” page has been added to the TotalView’s new user interface. When you start the new UI this page is displayed with resources about the new UI and how to learn to use it.
• Set PC: The ability to set the program counter (PC) to a new line location has been added. To change the PC, simply select a valid line in the source code and then choose the Thread | Set PC menu item or simply hit the “p” key.
• Data View improvements: A number of enhancements to better display changing data and data collections during program execution.
• Action Point improvements: Changes to better work with CUDA Unified Breakpoints and showing the accurate state of action points as dynamic code from CUDA kernels or shared libraries have been made to the new UI.
• Multi-process debugging improvements: Various aspects of the new user interface now use the share group of the process in focus for operations and data displayed. For example, only source files and action points related to the current share group in focus are shown. When focus to another process in a different share group is made, the source view and action point view will update to show the related files and action points.
• Bug fixes and improvements: Numerous bug fixes and minor improvements have been made to the new UI.
Display std::string value without diving
New with 2018.2, TotalView now displays the resulting string value of a std::string without having to dive on the string and view it in the Data window! The string is now displayed in tooltips, in the local variable pane and other locations where you would expect the string value to be displayed.
QString type transformation
TotalView 2018.2 automatically transforms instances of type QString in Qt 4 and Qt 5 applications. You are no longer required to locate and manipulate the underlying character data to a human-friendly format. TotalView now does it for you.
Manage single-stepper skip rules
TotalView now provides the ability to define single-stepper “skip” rules that modify the way source-level single stepping works. These rules identify functions that you are not interested in debugging. Skip rules can be defined to skip over a function or through a function. In skip over cases, the debugger does not step into the function, but rather over it. These are useful for skipping over library functions such as C++ STL code. Skip through rules tell the debugger to ignore any source-line information for the function, so that single stepping does not stop at source lines within the function. If the function being skipped through calls another function, that call is handled according to the original single-stepping operation. Skip through is most useful for callback or thunk functions. For more information and examples, see documentation for the dskip command in the TotalView Reference Guide.
And there’s more!
Release 2018.2 also brings support for Absoft 18 and numerous bug fixes and performance improvements!