The current context is the location in your application on which the debugger is currently focused. When multiple sessions are running, only one session is current. Within the current session, the thread from which the debugger regained control is the default current thread. Inside the current thread, the most recent frame in the stack is the default current frame.
You can make any session, thread, or call current by double-clicking its node in the appropriate debugger window.
Most debugger windows depend on the current context. When you change the current context, the contents of these windows are updated to reflect the new context.
For example, the Threads window shows the threads in the current session, while the Call Stack window shows the call stack for the current thread. The Variables window shows the variables that are local to the current call, and the Classes window shows the classes that have been loaded by the current session.
One exception is the Watches window. This windows list all watches set in the debugger. While the set of watches is shared by all sessions, an individual watch expression is evaluated and displayed based on the current context.
When a variable is active in the current context, the source editor displays the value of the variable when you move the mouse pointer over it. In cases where a program includes different variables with the same name, the source editor displays the value based on the current context, and not on the instance of the variable in the source code.