Examining Suspended Program
You can examine the state of suspended application by analyzing frames.
When a program is running in the debug mode, there are two ways to suspend it:
Set breakpoints in the code that you want to examine and wait until one of them is hit.
Break program execution with Ctrl+Pause or. The debugger will finish the statement that is executing at the moment you pause, and then stop at the statement that should be executed next.
The current execution point — the next statement to be executed — is marked with a yellow execution pointer in the left-hand gutter of the editor. To quickly find the current execution point, press Alt+NumPad * or click Show Execution Point in the Debug window.
What is a frame?
To perform a call to a function, the CLR generates call data and puts them to the call stack. This block of data is called stack frame (or frame for short) and includes function location, call arguments, local variables, and so on.
While debugging, all frames from the current call stack are displayed on the Frames pane of the Debug window, where you can select any frame and view its data.
Note that the debugger distinguishes user and system code in the call stack. When you select a frame that corresponds to a method declared in the user code, the debugger automatically navigates you to the method's source code. All frames belonging to the system assemblies are highlighted and do not provide navigation to code.
When a frame is selected, all variables and arguments available to this frame's method call are displayed in the Variables pane of the Debug window, so you can further explore them. This section describes the ways to simplify examining these values: