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.