When TotalView displays a Variable Window, it understands the scope in which the variable exists. As your program executes, this scope doesn’t change. In other words, if you’re looking at variable
my_var in one routine, and you then execute your program until it is within a second subroutine that also has a
my_var variable, TotalView does not change the scope so that you are seeing the
in scope variable.
If you would like TotalView to update a variable’s scope as your program executes, select the
View > Compilation Scope > Floating command. This tells TotalView that, when execution stops, it should look for the variable in the current scope. If it finds the variable, it displays the variable contained within the current scope.
Select the View > Compilation Scope > Fixed command to return TotalView to its default behavior, which is not to change the scope.
Selecting floating scope can be very handy when you are debugging recursive routines or have routines with identical names. For example,
i,
j, and
k are popular names for counter variables.