How do I ...
Here are some of the operations that can occur when you are using the CLI's stepping commands:
- Step a single thread
While the thread runs, no other thread runs (except kernel manager threads).
Example: dfocus t dstep
- Step a single thread while the process runs
A single thread runs into or through a critical region.
Example: dfocus p dstep
- Step one thread in each process in the group
While one thread in each process in the share group runs to a goal, the rest of the threads run freely.
Example: dfocus g dstep
- Step all worker threads in the process while nonworker threads run
Runs worker threads through a parallel region in lockstep.
Example: dfocus pW dstep
- Step all workers in the share group
All processes in the share group participate. The nonworker threads run.
Example: dfocus gW dstep
- Step all threads that are at the same PC as the thread of interest
The CLI selects threads from one process or from the entire share group. This differs from the previous two bullets in that the CLI uses the set of threads that are in lockstep with the thread of interest rather than using the workers group.
Example: dfocus L dstep
In the following examples, the default focus is set to d1.<.
dstep
Steps the thread of interest while running all other threads in the process.
dfocus W dnext
Runs the thread of interest and all other worker threads in the process to the next statement. Other threads in the process run freely.
dfocus W duntil 37
Runs all worker threads in the process to line 37.
dfocus L dnext
Runs the thread of interest and all other stopped threads at the same PC to the next statement. Other threads in the process run freely. Threads that encounter a temporary breakpoint in the course of hopping to the next statement usually join the lockstep group.
dfocus gW duntil 37
Runs all worker threads in the share group to line 37. Other threads in the control group run freely.
UNW 37
Performs the same action as the previous command: runs all worker threads in the share group to line 37. This example uses the predefined UNW alias instead of the individual commands. That is, UNW is an alias for dfocus gW duntil.
SL
Finds all threads in the share group that are at the same PC as the thread of interest and steps them all one statement. This command is the built-in alias for dfocus gL dstep.
sl
Finds all threads in the current process that are at the same PC as the thread of interest, and steps them all one statement. This command is the built-in alias for dfocus L dstep.