30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 197: Using Functions<br />

in the Tools > Expression<br />

List Window<br />

Viewing a List of Variables<br />

In a similar fashion, you can even directly enter functions. (See Figure 197.)<br />

Using the Expression List with Multi-process/Multithreaded<br />

Programs<br />

You can change the thread in which <strong>TotalView</strong> evaluates your expressions<br />

by typing a new thread value in the Threads box at the top of the window. A<br />

second method is to select a value by using the drop-down list in the<br />

Threads box.<br />

When you use an Add to Expression List command, <strong>TotalView</strong> checks<br />

whether an Expression List Window is already open for the current thread.<br />

If one is open, <strong>TotalView</strong> adds the variable to the bottom of the list. If an<br />

Expression List Window isn’t associated with the thread, <strong>TotalView</strong> duplicates<br />

an existing window, changes the thread of the duplicated window,<br />

and then adds the variable to all open Tools > Expression List Windows.<br />

That is, you have two Tools > Expression List Windows. Each has the same<br />

list of expressions. However, the results of the expression evaluation differ<br />

because <strong>TotalView</strong> is evaluating them in different threads.<br />

In all cases, the list of expressions in all Tools > Expression List Windows is<br />

the same. What differs is the thread in which <strong>TotalView</strong> evaluates the window’s<br />

expressions.<br />

Similarly, if <strong>TotalView</strong> is displaying two or more Tools > Expression List Windows,<br />

and you send a variable from yet another thread, <strong>TotalView</strong> adds the<br />

variable to all of them, duplicates one of them, and then changes the<br />

thread of the duplicated window.<br />

Reevaluating, Reopening, Rebinding, and Restarting<br />

This section explains what happens in the Tools > Expression List Window<br />

as <strong>TotalView</strong> performs various operations.<br />

Reevaluating Contents: <strong>TotalView</strong> reevaluates the value of everything<br />

in the Tools > Expression List Window Expression column whenever your<br />

thread stops executing. More precisely, if a thread stops executing,<br />

<strong>TotalView</strong> reevaluates the contents of all Tools > Expression List Windows<br />

associated with the thread. In this way, you can see how the values of these<br />

expressions change as your program executes.<br />

<strong>TotalView</strong> <strong>Users</strong> <strong>Guide</strong>: version 8.7 307

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!