Process and Thread Width Specifiers in a P/T Set
You can define a P/T set in two ways. If you’re not manipulating groups, the format is as follows:
[width_specifier][dpid][.dtid]
Group Specifiers in P/T Sets extends this format to include groups. When using P/T sets, you can create sets with just width indicators or just group indicators, or both.
For example, p2.3 indicates process 2, thread 3.
You can leave out parts of the P/T set if your entry is unambiguous. A missing width or DPID is filled in from the current focus. A missing DTID is always assumed to be <. For more information, see Naming Incomplete Arenas.
The width_specifier is a lowercase letter that indicates which processes and threads are part of the arena and therefore the target of a command.
Table 10: Arena width specifiers
Width specifier
Target of command
t
Thread width
Only the thread of interest (TOI).
p
Process width
All threads in the group of interest (GOI) that are in the process of interest (POI). This may be a subset of the threads in the POI.
g
Group width
All threads in the GOI, typically spanning multiple processes.
a
All processes and threads
All threads known to TotalView.
d
Default width
Depends on the default for each command. This is also the width to which the default focus is set. For example, the dstep command defaults to process width (run the process while stepping one thread), and the dwhere command defaults to thread width.
A useful way to think of the width is that it is a restriction on the rest of the arena specifier. The collection of threads on which to operate is the arena restricted by the width. A width of a includes everything. A width of g restricts it to just the group in the arena. A width of p restricts it further, to just the threads which are also members of the process and group in the arena. Finally, a width of t restricts the collection to just the TOI.
For example, consider how width impacts the dstep command. This command always requires a TOI, but the processes or threads on which this command acts differ:
*Step just the TOI during the step operation (thread-level single-step).
*Step the TOI and step all threads in the process that contain the TOI (process-level single-step).
*Step all processes in the group that have threads at the same PC as the TOI (group-level single-step).
For more information, see Stepping and Program Execution.