Chapter 6 Examining and Editing Data
Overview
NextGen TotalView for HPC is rich with features to analyze your program’s data.
The Call Stack, Local Variable (VAR drawer), and Data View
The Call Stack, the Local Variable (VAR) drawer, and the Data View all work together to provide views of your data at different points of your running program.
The VAR panel and the Data View work in concert to display your program’s data in detail.
The VAR panel displays blocks of variables local to the selected call stack frame. When you move through the backtrace, change the thread of focus or the PC changes, the local variables in the VAR panel update.
The VAR panel displays data only for scalar data. To see non-simple variables such as pointers, arrays or structures, add them to the Data View. Add new variables to the Data View by either entering the variable name in the Add New Expression field in the Data View, right clicking on the variable and selecting Add to Data View from the context menu, or by simply dragging the variable name from the VAR panel to the Data View. Both views update variable values as your program runs.
The Data View automatically transforms and aggregates your data so that it displays in a way that makes it easy to examine. If you are using Standard Template Library (STL) types, this is especially useful and is analogous to the customized STLView in TotalView for HPC.
Diving
Diving is integral to the NextGen TotalView for HPC UI and provides a quick, intuitive, and effective way to get more information about various program elements. Dive on an element either by just double-clicking on it or via a context menu. For example:
• Dive on a thread or function in the Processes & Threads view, (by double clicking on it), and the Source view switches its focus to that element.
• Navigate to a function in the Source pane to move its focus to that element.
• Dive on an expression or variable in the Data View to add it as a new expression in the Data View. This is helpful for examining one segment of a data structure or element of an array of data.
Editing Data
Edit a wide range of data while debugging your programs, such as variable type and value.
Included in this chapter: