TotalView : TotalView User Guide : PART III Parallel Debugging : Group, Process, and Thread Control
Group, Process, and Thread Control
Overview
When debugging a parallel program, you often need fine-grained control over the program’s execution. TotalView organizes a program’s processes and threads into groups, a design that provides you the ability to precisely select a focus for any execution control operation.
The focus of any debugging command determines the set of processes and threads that will be affected by that command, whether that's a single thread, a single process, a group of processes or threads, or multiple groups—and anything in between.
Select the focus either in the UI using its Focus control, or in the CLI using the dfocus command. Debugger commands determine the arena (the specific collection of thread(s) or process(es) within the target) by looking at the selected focus.
The arena includes a thread of interest, a process of interest, and a group of interest. It also includes a width, which provides a way to specify the set of processes and threads on which certain debugger commands will act. For example, the width determines whether a command operates on a single thread, a process, or an entire group. It may also include a group specifier to identify which group the command should act on.
Thread, Process, and Group of Interest
*TOI—The Thread of Interest is selected by the user. In the UI, the TOI is typically identified by selecting a particular thread within the Processes and Threads view. In the CLI, the TOI is the primary thread that will be affected by a command. For example, the Step command always steps the thread of interest, but it may optionally run other threads in the process and other processes in the group.
*POI—The Process of Interest is the process that contains the TOI
*GOI—The Group of Interest is specified by the arena and the POI/TOI
An understanding of groups, arenas, P/T sets, and width will help you to set a precise focus to effectively debug complex, parallel programs with any number of threads and processes.
Topics discussed here: