This section explains what happens in the Tools > Expression List Window as TotalView performs various operations.
TotalView reevaluates the value of everything in the Tools > Expression List Window
Expression column whenever your thread stops executing. More precisely, if a thread stops executing, TotalView reevaluates the contents of all
Tools > Expression List Windows associated with the thread. In this way, you can see how the values of these expressions change as your program executes.
You can use the Window > Update All command to update values in all other
Tools > Expression List Windows.
If you close all open Tools > Expression List Windows and then reopen one, TotalView remembers the expressions you added previously. That is, if the window contains five variables when you close it, it has the same five variables when you open it. The thread TotalView uses to evaluate the window’s contents is based on the Process Window from which you invoked the
Tools > Expressions List command.
The values displayed in an Expression List Window are the result of evaluating the expression in the thread indicated in the
Threads box at the top of the window. To change the thread in which TotalView evaluates these expressions, you can either type a new thread value in the
Threads box or select a thread from the pulldown list in the
Threads box. (Changing the thread to evaluate expressions in that thread’s context is called
rebinding.)
When you restart your program, TotalView attempts to rebind the expressions in a
Tools > Expression List Window to the
correct thread. Unfortunately, it is not possible to select the right thread with 100% accuracy. For example, the order in which your operating system creates threads can differ each time you run your program. Or, your program’s logic can cause threads to be created in a different order.