Totalview® Reference Guide : PART I CLI Commands : Chapter 2 CLI Commands : dstatus
dstatus
Shows current status of processes and threads
Format 
dstatus
dstatus [ -g ]
dstatus [ -group_by process_state | replay | pheld | thread_state | pc, | function | line |apid | theld | stop_reason ]
Arguments 
-g
Alias for -group_by.
-group_by
Reduces the display based on the following process-level or thread-level arguments. The reduction is shown using either a compressed process list for process-level properties (plist) or a compressed thread list for thread-level properties (ptlist). See Compressed List Syntax (ptlist) for a description of a ptlist.
Process level:
process_state
Limits the display to the state of the process.
replay
Groups by replay mode. A process can be in three replay states: Replay Unavailable, Replay, or -Record.
pheld
Groups the processes as either Held or UnHeld.
Thread level:
thread_state
The state of the thread
pc
The Program Counter of the thread
function
The function where the thread’s pc is currently.
line
The line number for the current thread’s pc
apid
The action point identifier that the thread’s pc is on. If the thread is not at an action point, it will be grouped as ap(none).
theld
Threads grouped as either Held or UnHeld.
stop_reason
The stop code and stop message for a stopped thread.
-pcount
Alias for the -ptlist_element_count argument
-ptlist_element_count number
Displays, at maximum, number elements (comma separated plists or ptlists) in the process/thread compressed list that is shown in a reduced dstatus display. If a reduction results in exceeding the ptlist_element_count, an ellipsis is appended. For instance, if ptlist_element_count is set to 5:
                 [p1-4.1, p2.2, p3-4.3, p5.4, p6.1-2, ...]
To change the default value, use the TotalView State variable ptlist_element_threshold. For example:
                 dset TV::ptlist_element_threshold 10
-levels
The number of levels to show for a set of properties. If no levels are specified, then each property is reduced on a new line with indentation. If the number of levels is less than the number of specified properties, then the remaining properties are shown in a single reduction on one line.
-v
Show verbose output in the reduced display. Without -v, full paths of filenames and line numbers are not displayed.
-detail
Force full detailed information for the current state of each process and thread in the current focus. This option affects the amount of information displayed from grouping by function.
Description 
With the -group_by option, the dstatus command displays an aggregated view of the process and thread state in the current focus. To make the display more useful, you can reduce it based on specific properties, provided as arguments as described above. The full detail shows the current state of each process and thread in the current focus. ST is aliased to dfocus g dstatus and acts as a group-status command. Type help ptset for more information.
If you have not changed the focus, the default is process. In this case, the dstatus command shows the status for each thread in process 1. In contrast, if you set the focus to g1.<, the CLI displays the status for every thread in the control group. When you limit thread state display by certain properties, the output is displayed as a compressed thread list, or ptlist.
Compressed List Syntax (ptlist)
A compressed ptlist consists of a process and thread count, followed by square-bracket-enclosed list of process and thread ranges separated by dot (.). If the thread range is missing, it's merely a compressed list of processes and it is referred to as a plist.
If the process range starts with the letter p, the process IDs are TotalView DPIDs (debugger unique process identifiers); otherwise, they are the MPI rank for the process, MPI_COMM_WORLD.
The thread IDs are always TotalView DTIDs (debugger unique thread identifiers). For example, the compressed ptlist 5:13[0-3.1-3, p1.1] indicates that there are five processes and 13 threads in the list. The process and thread range 0-3.1-3 indicates MPI rank processes 0 through 3, each with DTIDs 1 through 3. The process range p1.1 indicates process DPID 1 and thread DTID 1, normally the MPI starter process named mpirun.
Command alias 
Examples 
dstatus
Displays the status of all processes and threads in the current focus; for example:
1: 42898 Breakpoint [arraysAIX]
   1.1: 42898.1 Breakpoint \
              PC=0x100006a0,[./arrays.F#87]
 
f a st
Displays the status for all threads in all processes.
f p1 st
Displays the status of the threads associated with process 1. If the focus is at its default (d1.<), this is the same as typing st.
ST
Displays the status of all processes and threads in the control group having the focus process; for example:
1: 773686 Stopped [fork_loop_64]
 1.1:773686.1 Stopped PC=0x0d9cae64
 1.2:773686.2 Stopped PC=0x0d9cae64
 1.3:773686.3 Stopped PC=0x0d9cae64
 1.4:773686.4 Stopped PC=0x0d9cae6
2: 779490 Stopped [fork_loop_64.1]
 2.1:779490.1 Stopped PC=0x0d9cae64
 2.2:779490.2 Stopped PC=0x0d9cae64
 2.3:779490.3 Stopped PC=0x0d9cae64
 2.4:779490.4 Stopped PC=0x0d9cae64
 
f W st
Shows status for all worker threads in the focus set. If the focus is set to d1.<, the CLI shows the status of each worker thread in process 1.
f W ST
Shows status for all worker threads in the control group associated with the current focus.
In this case, TotalView merges the W and g specifiers in the ST alias. The result is the same as if you had entered f gW st.
f L ST
Shows status for every thread in the share group that is at the same PC as the thread of interest (TOI).
d1.<> dfocus g dstatus -group_by thread_state, function
First reduces the focus by thread_state, then further breaks down and reduces the results according to the function the threads are in within each thread state. This call might output this reduced display:
Focus: 4:20[p1-4.1-5]
Breakpoint : 4:4[p1.2, p3-4.2, p2.3]
snore : 4:4[p1.2, p3-4.2, p2.3]
Stopped : 4:16[p1-4.1, p2.2, p1.3, p3-4.3, p1-4.4-5]
.___newselect_nocancel : 4:13[p1-4.1, p2.2, p3-4.3, p1.4]
snore : 2:3[p1.3, p2.4-5]
The above output displays the reduction produced by the group_by command as a series of ptlists. (See above, Compressed List Syntax (ptlist)).
dfocus group dwhere -group_by function
This dwhere call output shows that all the processes have the first three frames in their backtrace but then they diverge and one process is in function rank0 while the other three processes are in rankn.
+/ : 10:10[0-9.1]
+_start
+__libc_start_main
+main
+rank0 : 1:1[0.1]
+rankn : 3:3[1.1, 5.1, 8.1]
Related Topics
Using the Root Window
Viewing Process and Thread State
The Root Window
dwhat Command
dwhere Command