Controlling Program Execution
Knowing what’s going on and where your program is executing is simple in a serial debugging environment. Your program is either stopped or running. When it is running, an event such as arriving at a breakpoint can occur, stopping the program. Sometime later, you tell the serial program to continue executing.
Multi-process and multi-threaded programs are more complicated. Each thread and each process has its own execution state. When a thread (or set of threads) triggers a breakpoint, TotalView must also determine how other threads and processes respond, stopping some and letting others continue to run.