30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Stepping (Part I)<br />

Other topics in this section are:<br />

� “Understanding Group Widths” on page 254<br />

� “Understanding Process Width” on page 254<br />

� “Understanding Thread Width” on page 255<br />

� “Using Run To and duntil Commands” on page 255<br />

Understanding Group Widths<br />

<strong>TotalView</strong> behavior when stepping at group width depends on whether the<br />

Group of Interest (GOI) is a process group or a thread group. In the following<br />

lists, goal means the place at which things should stop executing. For<br />

example, if you selected a step command, the goal is the next line. If you<br />

selected a run to command, the goal is the selected line.<br />

The actions that <strong>TotalView</strong> performs on the GOI are dependent on the type<br />

of process group that is the focus, as follows:<br />

� Process group—<strong>TotalView</strong> examines the group, and identifies which of its<br />

processes has a thread stopped at the same location as the TOI (a matching<br />

process). <strong>TotalView</strong> runs these matching processes until one of its<br />

threads arrives at the goal. When this happens, <strong>TotalView</strong> stops the<br />

thread’s process. The command finishes when it has stopped all of these<br />

matching processes.<br />

� Thread group—<strong>TotalView</strong> runs all processes in the control group. However,<br />

as each thread arrives at the goal, <strong>TotalView</strong> only stops that thread; the<br />

rest of the threads in the same process continue executing. The command<br />

finishes when all threads in the GOI arrive at the goal. When the<br />

command finishes, <strong>TotalView</strong> stops all processes in the control group.<br />

<strong>TotalView</strong> doesn’t wait for threads that are not in the same share group as<br />

the TOI, since they are executing different code and can never arrive at the<br />

goal.<br />

Understanding Process Width<br />

<strong>TotalView</strong> behavior when stepping at process width (which is the default)<br />

depends on whether the Group of Interest (GOI) is a process group or a<br />

thread group.<br />

The actions that <strong>TotalView</strong> performs on the GOI are dependent on the type<br />

of process group that is the focus, as follows:<br />

� Process group—<strong>TotalView</strong> runs all threads in the process, and execution<br />

continues until the TOI arrives at its goal, which can be the next statement,<br />

the next instruction, and so on. Only when the TOI reaches the<br />

goal does <strong>TotalView</strong> stop the other threads in the process.<br />

� Thread group—<strong>TotalView</strong> lets all threads in the GOI and all manager threads<br />

run. As each member of the GOI arrives at the goal, <strong>TotalView</strong> stops it; the<br />

rest of the threads continue executing. The command finishes when all<br />

members of the GOI arrive at the goal. At that point, <strong>TotalView</strong> stops the<br />

whole process.<br />

254 Chapter 13: Using Groups, Processes, and Threads

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!