JetBrains Rider 2019.2 Help

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 Run | Pause Program. 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 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 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.

Exploring frames

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.

JetBrains Rider: Debug frames pane

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:

Last modified: 29 November 2019