From the Root and Process Windows, you can navigate anywhere in your program. Some examples:
1. Dive on a function
— From the Process Window, in main(), “dive” on the function load_matrix() by double-clicking on it. (Click on the text, not on the line number, which would instead add an Action Point.)
NOTE >> Diving simply means clicking on an object to launch a window with detailed information. Diving is integral to using TotalView and provides instant access to detailed data by drilling down into the object, routine, process, thread, etc.
The focus in the Source Pane shifts to this function. You can change the focus back to main() using the dive stack icons () at the top right. If you click the left arrow, the focus returns to main() and the right arrow becomes enabled, allowing you to dive, undo a dive, and then redive.
2. Look up a function
— From the View menu, select Lookup Function, then enter wave:
The focus shifts to the function wave(). This function happens to be in the same file, wave_extended.c, but finding, diving, and other navigation tools operate on any file in a project.
3. Find any program element
— From the Edit menu, select Find.
You can enter any search term, and TotalView returns results from anywhere in your program, including from assembler code if it is visible. For instance, a search on “struct” returns several instances: