Working with Multi-Processes
and Multi-Threads
TotalView’s real strength is in debugging multi-process, multi-threaded programs, many of which are tremendously complex.
Here’s a brief rundown of TotalView’s primary features that support this kind of complicated parallel computing:
*Organizing your processes and threads into groups, making it possible to debug programs running thousands of processes and threads across hundreds of computers.
*Placing a server on each remote processor as it is launched that then communicates with the main TotalView process. This debugging architecture gives you a central location from which you can manage and examine all aspects of your program.
*Automatically bringing any threads or processes spawned by your program under TotalView’s control, avoiding the need to run multiple debuggers.
*Allowing you to focus on, run, set breakpoints on, and display individual processes, threads, or groups.
For example, to act on a particular process, select it from the toolbar’s target pulldown menu, Figure 18. This defines the focus, so when you select the command Go or Step, TotalView knows what to act on.
Figure 18 Selecting a Target from the Toolbar Pulldown
Threading and multi-process applications
in general
Debugging Multi-process and Multi-threaded Programs” in the Classic TotalView User Guide
How TotalView organizes processes and threads into groups
About Threads, Processes, and Groups” in the Classic TotalView User Guide
Tips on parallel debugging
Debugging Strategies for Parallel Applications” in the Classic TotalView User Guide