Examining Suspended Program
When a breakpoint is hit, or program execution is manually suspended, you can examine your application by analyzing frames.
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, etc.
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: