Simple Stepping
Here, we’ll use the commands Step, Run To, Next and Out, and then note process and thread status.
1. Step
*Select Step () in the toolbar. TotalView stops the program just before the first executable statement, the call to setjmp().
Note the yellow highlight and arrow show the current location of the Program Counter, or PC, in the Source pane.
The process and thread status are displayed in the Processes & Threads pane:
 
This program has just a single process 1 and thread, denoted by 1.1, which reports that its status is Stopped in main(). The thread is in bold, because it is the active thread or the Thread of Interest (TOI).
The status bar at the bottom also displays process/thread status, reporting that the TOI is in main().
*Select Step again to advance to the while loop on line 31, and then select Step again to step into the readexpr() function. (Next would step over, or execute it.)
Because the readexpr() function is in a different file, TotalView opens the readexpr.c file and advances the PC to the first line of executable code in the readexpr() function.
Note that the readexpr() function now appears in the Call Stack view:
The status bar reports the location of the PC:
2. Run To
Select the return() statement at line 136, then click Run To () in the toolbar. The PC advances to line 136. Blue highlighting denotes a “run to” location.
3. Out
Select Out () to execute the return statement and exit the function. The PC returns to the while condition inside main():
4. Next
Click Next () on the toolbar. The Next command simply executes any executable code at the location of the PC. If that is a function call, it fully executes the function. If the PC is instead at a location within a function, it executes that line and then moves the PC to the next line.
In this case, the PC moves to the next executable line in main(), the assignment of the evaluate() function's return value on line 32:
Now let’s add some breakpoints and rerun the program.