The duntil and Run To commands differ from other step commands when you apply them to a process group. (These commands tell TotalView to execute program statements until it reaches the selected statement.) When used with a process group, TotalView identifies all processes in the group that already have a thread stopped at the goal. These are the matching processes. TotalView then runs only nonmatching processes. Whenever a thread arrives at the goal, TotalView stops its process. The command finishes when it has stopped all members of the group. This lets you synchronize all the processes in a group in preparation for group-stepping them.
You need to know the following if you’re running at process width:
Process group
If the Thread of Interest (TOI) is already at the goal location, TotalView steps the TOI past the line before the process runs. This lets you use the Run To command repeatedly in loops.
Thread group
If any thread in the process is already at the goal, TotalView temporarily holds it while other threads in the process run. After all threads in the thread group reach the goal, TotalView stops the process. This lets you synchronize the threads in the POI at a source line.
If you’re running at group width:
Process group
TotalView examines each process in the process and share group to determine whether at least one thread is already at the goal. If a thread is at the goal, TotalView holds its process. Other processes are allowed to run. When at least one thread from each of these processes is held, the command completes. This lets you synchronize at least one thread in each of these processes at a source line. If you’re running a control group, this synchronizes all processes in the share group.
Thread group
TotalView examines all the threads in the thread group that are in the same share group as the TOI to determine whether a thread is already at the goal. If it is, TotalView holds it. Other threads are allowed to run. When all of the threads in the TOI’s share group reach the goal, TotalView stops the TOI’s control group and the command completes. This lets you synchronize thread group members. If you’re running a workers group, this synchronizes all worker threads in the share group.
The process stops when the TOI and at least one thread from each process in the group or process being run reach the command stopping point. This lets you synchronize a group of processes and bring them to one location.
You can also run to a selected line in a nested stack frame, as follows:
1. Select a nested frame in the Stack Trace Pane.
2. Select a source line or instruction in the function.
3. Enter a Run To command.
TotalView executes the primary thread until it reaches the selected line in the selected stack frame.