Diving in Variable Windows
If the variable being displayed in a Variable Window is a pointer, structure, or array, you can dive on the value. This new dive, which is called a nested dive, tells TotalView to replace the information in the Variable Window with information about the selected variable. If this information contains nonscalar data types, you can also dive on these data types. Although a typical data structure doesn’t have too many levels, repeatedly diving on data lets you follow pointer chains. That is, diving lets you see the elements of a linked list.
TotalView can display a member of an array of structures as a single array across all the structures. See
Displaying an Array of Structure’s Elements for more information.
TotalView remembers your dives. This means that you can use the undive/redive buttons to view where you already dove.
The following figure shows a Variable Window after diving into a pointer variable named
sp with a type of
simple*. The first Variable Window, which is called the
base window, displays the value of
sp. (This is
Window 1 in
Figure 134.)
The nested dive window (Window 2 in this figure) shows the structure referenced by the simple* pointer.
You can manipulate Variable Windows and nested dive windows by using the undive/redive buttons, as follows:
To undive from a nested dive, click the undive arrow button. The previous contents of the Variable Window appear.
To undive from all your dive operations, click the undive all arrow button.
To redive after you undive, click the redive arrow button. TotalView restores a previously executed dive operation.
To redive from all your undive operations, click on the
Redive All arrow button.
If you dive on a variable that already has a Variable Window open, the Variable Window pops to the top of the window display.
If you select the
Window > Duplicate command, a new Variable Window appears, which is a duplicate of the current Variable Window.