Reference Guide New Features Installation, Transformations, Release Notes

Debugging Multiprocess and Multithreaded Programs

When your program creates processes and threads, TotalView can automatically bring them under its control. If the processes are already running, they too can be acquired. You don't need to have multiple debuggers running. TotalView is enough.

The processes that your program creates can be local or remote. Both are presented to you in the same way. The only difference between debugging a single-process program and a multiprocess, multithreaded program is that you gain the ability to display these additional threads and processes in Process Windows. You can display them in the current Process Window or display them in another window. As always, there are several ways to do it.

TotalView's Root Window, which is automatically displayed after you start TotalView, contains an overview of everything being debugged, so diving on a process or a thread listed in the Root Window takes you quickly to the information you want to see. If you need to debug processes that are already running, the Unattached Page lets you dive on other processes you own. After diving on them, they can also be debugged.

The Root Window

In the Process Window, you can switch between processes and threads by clicking the process and thread switching buttons in the toolbar. These are the buttons on the right side of the toolbar in the following figure.

Process and Thread Switching Icons

Every time you click on one of these buttons, TotalView switches. The switching order is the order in which you see things in the Root Window.

In many cases, you'll be using one of the popular parallel execution models. TotalView supports MPI and MPICH, OpenMP, ORNL PVM (and HP Alpha DPVM), SGI shared memory (shmem) and UPC. You could be using threading in your programs. Or your programs can be compiled using products provided by your hardware vendor or third-party programs such as those from KAI and the Free Software Foundation (the GNU compilers).

 
 
 
Select a section: 
 
documentation@etnus.com
Copyright © 2003, Etnus, Inc. All rights reserved.
Version 6.2