Understanding Thread Width
When TotalView performs a stepping command, it decides what it steps based on the width. Using the toolbar, you specify width using the left-most pulldown. This pulldown has three items: Group, Process, and Thread.
Stepping at thread width tells TotalView to only run that thread. It does not step other threads. In contrast, process width tells TotalView to run all threads in the process that are allowed to run while the TOI is stepped. While TotalView is stepping the thread, manager threads run freely.
Stepping a thread isn’t the same as stepping a thread’s process, because a process can have more than one thread.
Thread-stepping is not implemented on Sun platforms. On SGI platforms, thread-stepping is not available with pthread programs. If, however, your program’s parallelism is based on SGI’s sprocs, thread-stepping is available.
Thread-level single-step operations can fail to complete if the TOI needs to synchronize with a thread that isn’t running. For example, if the TOI requires a lock that another held thread owns, and steps over a call that tries to acquire the lock, the primary thread can’t continue successfully. You must allow the other thread to run in order to release the lock. In this case, you should use process-width stepping instead.