The meaning of the g width specifier is sometimes not clear when it is coupled with a group scope specifier. Why have a
g specifier when you have four other group specifiers? Stated in another way, isn’t something like
gL redundant?
The simplest answer, and the reason you most often use the g specifier, is that it forces the group when the default focus indicates something different from what you want it to be.
The default focus is d1.<, which means that the CLI is at its default width, the POI is 1, and the TOI is the lowest numbered nonmanager thread. Because the default width for the
dstatus command is process, the CLI displays the status of all processes. Typing
dfocus p dstatus produces the same output.
The CLI displays the following when you ask for the status of the lockstep group. (The rest of this example uses the
f abbreviation for
dfocus, and
st for
dstatus.)
This command tells the CLI to display the status of the threads in thread, which is the 1.1 lockstep group since this thread is the TOI. The
f L focus command narrows the set so that the display only includes the threads in the process that are at the same PC as the TOI.
The duntil command runs thread 1.3 to the same line as thread 1.1. The
dstatus command then displays the status of all the threads in the process:
The next set of commands begins by narrowing the width of the default focus to thread width—notice that the prompt changes—and then displays the contents of the lockstep group:
Although the lockstep group of the TOI has two threads, the current focus has only one thread, and that thread is, of course, part of the lockstep group. Consequently, the lockstep group
in the current focus is just the one thread, even though this thread’s lockstep group has two threads.
If you ask for a wider width (p or
g) with
L, the CLI displays more threads from the lockstep group of thread 1.1. as follows:
Because this example only contains one process, the pL and
gL specifiers produce the same result when used with the
dstatus command. If, however, there were additional processes in the group, you only see them when you use the
gL specifier.