New in TotalView® for HPC 2017.2
TotalView® for HPC 2017.2 includes the following primary new or updated features. For a complete change history for TotalView, MemoryScape and ReplayEngine, see the document “TotalView_for_HPC_Change_Log.pdf” in the PDF directory of your installation, or follow the link “TotalView New Features and Change Log” on the TotalView documentation page on the website.
Early Access to the NextGen TotalView User Interface
This early version of the NextGen interface continues to add features and is available so we can gather feedback from TotalView users on its updated capabilities. To try out the new user interface, start TotalView with the -newUI switch:
totalview -newUI
For more details on the new UI, see the in-product help through the Help | Contents menu item. New features added to the NextGen user interface in this release include:
Official Support - Mixed Language Debugging with Python and C/C++
Mixed language debugging of Python and C/C++ applications enables you to easily see a fully integrated call stack across the language barriers and to examine data passed between the layers. Read more about the Python and C/C++ debugging capabilities in Chapter 7 of the NextGen TotalView for HPC User Guide.
Currently supported platforms:
Python 2.7 on Linux x86 64-bit, Linux PowerLE, and Linux ARM64
Evaluation Points Support Added to the New UI
The ability to create and modify evaluation points, which are snippets of code that run when a point of code is hit, has been added to the new UI. Evaluation points are an excellent resource to add conditional logic for stopping execution of your program or trying out new execution logic without modifying your program. Read more about using evaluation points in Chapter 5 of the NextGen TotalView for HPC User Guide.
Data View Improvements for Deep Structures
Improvements have been made to the Data view to better handle structures with many pointers to other structures, creating deep trees of information. The depth of the tree is clipped to keep performance in check, but the branches can easily be explored by right clicking on the data element and selecting Dive from the context menu.
Currently, the next generation UI is supported on Linux x86 64-bit, Linux PowerLE, Linux ARM64, and Apple’s macOS/Mac OS X platforms. It supports multi-process and multi-threaded debugging as well as a level of parallel, MPI and CUDA debugging. Functionality not yet present in the UI is available through the command line interface (CLI). Please send email to tv-beta@roguewave.com with your feedback and feature priorities. We welcome all feedback and feature requests for the new user interface.
ReplayEngine Reverse Debugging Added to tvscript
tvscript enables unattended debugging functionality that is often useful in test, continuous integration, and batch environments where interactive debugging is not always feasible. With this release, users can now enable reverse debugging through tvscript and use an event driven approach to generate ReplayEngine recording files for later analysis. A common use is to enable reverse debugging as part of an overnight test run and if a test failure occurs, generate a ReplayEngine recording file and attach it to a bug report for later analysis. See Chapter 4 in the NextGen TotalView for HPC Reference Guide for more information about tvscript.
.gdb_index Section Support
TotalView now supports processing .gdb_index sections contained within executable and shared library files. Compiling with DebugFission and linking with the gold linker to produce a .gdb_index can greatly reduce link time, disk usage, and debugger start-up time for large applications. See the Compiling and Linking Split DWARF section in Chapter 9 of the TotalView for HPC Reference Guide for more information on compiling programs with Split DWARF.
Solaris Split DWARF Support
Starting with the Solaris Studio 12.4 compilers, Oracle® supports a Split-DWARF variant (also know as excluded DWARF) that can greatly reduce link time, disk usage, and debugger start-up time for large applications. See the Compiling and Linking Split DWARF section in Chapter 9 of the TotalView for HPC Reference Guide for more information on compiling programs with Split DWARF.
dwz Optimized DWARF Support
TotalView supports debugging ELF shared libraries and ELF executables that are processed with the dwz tool, a tool for optimizing and removing duplicate debug symbols. For more information about dwz, see the dwz (1) Linux man page.
Platform Updates
TotalView 2017.2 introduces support for the ARM64 platform and Absoft 17 compiler.
Bug Fixes & Performance Improvements
A significant number of bug fixes and improvements have been added to the 2017.2 release.