30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Setting Group Focus<br />

� Lockstep Group<br />

Contains every stopped thread in a share group that has the same PC.<br />

<strong>TotalView</strong> creates one lockstep group for every thread. For example, suppose<br />

two threads are stopped at the same PC. <strong>TotalView</strong> creates two lockstep<br />

groups. While each lockstep group has the same two members, they<br />

differ in that each has a different TOI. While there are some circumstances<br />

where this is important, you can usually ignore this distinction. That is,<br />

while two lockstep groups exist if two threads are stopped at the same<br />

PC, ignoring the second lockstep group is almost never harmful.<br />

The group ID value for a lockstep group differs from the ID of other<br />

groups. Instead of having an automatically and transient integer ID, the<br />

lockstep group ID is pid.tid, where pid.tid identifies the thread with which<br />

it is associated. For example, the lockstep group for thread 2 in process<br />

1 is 1.2.<br />

In general, if you’re debugging a multi-process program, the control group<br />

and share group differ only when the program has children that it forked<br />

with by calling the execve() function.<br />

Specifying Groups in P/T Sets<br />

This section extends the arena specifier syntax to include groups.<br />

If you do not include a group specifier, the default is the control group. For<br />

example, the CLI only displays a target group in the focus string if you set it<br />

to something other than the default value.<br />

You most often use target group specifiers with the stepping commands, as they give<br />

these commands more control over what’s being stepped.<br />

Use the following format to add groups to an arena specifier:<br />

[width_letter][group_indicator][pid][.tid]<br />

This format adds the group_indicator to what was discussed in “Specifying Processes<br />

and Threads” on page 259.<br />

In the description of this syntax, everything appears to be optional. But,<br />

while no single element is required, you must enter at least one element.<br />

<strong>TotalView</strong> determines other values based on the current focus.<br />

<strong>TotalView</strong> lets you identify a group by using a letter, number, or name.<br />

A Group Letter You can name one of <strong>TotalView</strong>’s predefined sets. Each set is identified by a<br />

letter. For example, the following command sets the focus to the workers<br />

group:<br />

dfocus W<br />

<strong>TotalView</strong> <strong>Users</strong> <strong>Guide</strong>: version 8.7 263

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

Saved successfully!

Ooh no, something went wrong!