JetBrains Rider 2021.2 Help

Debugger

Use this page to configure behavior of the Debugger and customize its view.

Common options

Item

Description

Show debug window on breakpoint

If this checkbox is selected, JetBrains Rider activates the Debug window on hitting a breakpoint.

Focus application on breakpoint

If this checkbox is selected, on hitting a breakpoint, JetBrains Rider will show the location of this breakpoint in the editor and will attempt to bring its frame to the front.

Hide debug window on process termination

Automatically hide the Debug window when the debugged program terminates.

Scroll execution point to center

If this checkbox is selected, the line with the current execution point will be kept in the middle of the screen.

Click line number to perform run to cursor

If this checkbox is selected, you can click a line number in the editor to run program execution to this line.

JetBrains Rider debugger: Run to cursor using the line number

Remove breakpoint

Select how you want to remove breakpoints:

  • By clicking them with the left mouse button

  • By dragging them to the editor or clicking them with the middle mouse button. In this case, clicking a breakpoint will toggle its state between enabled and disabled.

You can also choose whether you want a confirmation dialog to be displayed when you are about to remove a conditional or a logging breakpoint

All Languages

Item

Description

Allow editing in the debug mode

This checkbox only affects files of non-.NET languages (for example, JavaScript or TypeScript files).

In .NET languages, you can edit and continue, which is controlled with the Enable Edit And Continue checkbox below on this page.

The checkbox is disabled by default because when you edit code in the debug mode, it is no longer synchronized with the debugger and can lead to unexpected results.

If Show prompt to allow editing is enabled, you will be able to edit files after accepting a warning that appears on each edit attempt. Otherwise, editing of files of non-.NET languages will be blocked when you are in the debug mode.

.NET Languages

Item

Description

Save all files on debugger launch

If this checkbox is enabled, all files are saved automatically when you start debugging to make sure that the files are synchronized with the debugger.

Show breakpoint preview on mouse hover

If this checkbox is enabled, JetBrains Rider will show a preview icon when you hover your mouse over a line where it is possible to set a breakpoint:

JetBrains Rider: Breakpoint suggestion on mouse hover

Disable JIT optimization on module load (.NET/.NET Core only)

This option (which is on by default) suppresses optimization made by the just-in-time (JIT) compiler. This means that the non-optimized code will be executed slower but it will match the source code.

Normally, you need this option to be enabled unless you are debugging a problem that cannot be reproduced in the non-optimized code.

If you clear this option, the debug information that JetBrains Rider displays could be limited.

Note also that when you attach to a running process, the JIT optimization will be only disabled for modules that are loaded after you attach.

Enable external source debug (.NET/.NET Core only)

Enables automatic decompilation and debugging of external code.

If this option is disabled, you can still navigate to external code and set breakpoints there. However, breakpoints in external code will be ignored by the debugger and you will not be able to step into external code. So your debugging experience will be limited by the source code in your solution.

Show floating debugger actions

If this option is enabled, you can hover the mouse over a target statement and use the icons that appear to run to cursor and skip to cursor:

JetBrains Rider debugger: Run to cursor with the hover action

Editing during debug

Enable Edit And Continue (.NET/.NET Core only)

When this option is on, you can edit your code and continue debugging without restarting.

There are cases when modifying the code is not possible and a restart is required. These include changing signatures, modifying generic functions, renamings of any kind, and some more. If this happens JetBrains Rider will make you aware by showing a tooltip.

Apply Enable Edit And Continue changes on step or resume actions (.NET/.NET Core only)

When this option is on, all your changes made in the debug session will be applied before the debugger makes the next step or resumes the program. Therefore, the debugging session could be broken, for example if your changes lead to a build failure.

This approach is similar to Visual Studio debugger. Although your changes can break the debugging session, it makes sure that the code in the editor is synchronized with the debugger at each step.

If this option is off, your changes will not be synchronized with the debugger on step or resume, instead, you will be able to apply the changes explicitly with the corresponding action.

This approach is similar to the Hot Swap in Java debuggers. It lets you continue debugging regardless of your changes, and it works well when your changes do not affect the code you are currently stepping over.

Value inspections

Allow property evaluations and other implicit function calls

Enables automatic evaluation of properties and implicit function calls in the Debug window.

Evaluation timeout

Defines the timeout, after which a method call is aborted.

Refresh watched values on debugger pause

Use this checkbox to automatically refresh expressions that include functions calls in watches.

When the checkbox is enabled, all watches will be refreshed automatically, but complex expressions with function calls could negatively affect debugger performance and can also lead to unexpected changes in the program state.

When the checkbox is disabled, simple variables and expressions will be refreshed automatically anyway, and you will be able to refresh complex expressions with an explicit action when necessary.

Show hex value for integers

Use this checkbox to additionally display hex presentation next to the integer values in the Debug window and inline in the editor.

Show return values

Show fully qualified type names

Flatten hierarchy of object members presentation

Exceptions

Break on user-unhandled exceptions (.NET/.NET Core only)

Use this option to make the debugger stop on exceptions that meet all the following criteria:

  • not handled within the code of the current solution

  • handled in external code

  • thrown either in the code of the current solution or in external code, but always have code of the current solution in the call stack

Process exceptions outside of my code (.NET/.NET Core only)

Use this option to make the debugger stop on exceptions that meet all the following criteria:

  • thrown in external code

  • handled in external code

  • have no code of the current solution in the call stack

If you do not need to stop in external code, it is recommended to keep this checkbox disabled because it can affect debugger performance, especially if external code throws lots of exceptions. This might be even more noticeable on macOS and Linux, where the .NET Core debug engine is relatively slow.

Break on unhandled exceptions

Use this option to break on exceptions that are handled neither in user code nor in library code. It is recommended to keep this option enabled because such exception will stop the application process anyway.

Pin to Top

'Pin to top' should change presentation of debugger objects

Just-in-Time debugger

This set of options lets you configure the default just-in-time (JIT) debugger for your system. You can see the current JIT debuggers for 32 bit and 64 bit process and use the buttons to set JetBrains Rider as the default debugger or restore the one which was set default previously.

When JetBrains Rider is set as the default JIT debugger and a process calls Debugger.Launch, you will see a dialog that helps you choose how to start the debugger. (1) If the solution with the application source code is open, you can pick it from the list of opened solutions.

Alternatively, you can choose a JetBrains Rider installation. In this case, debugger will start in an empty solution, and you will be able to debug decompiled code of the process. An additional checkbox allows you to remember the selected option (2), in which case for every future attempt, the debugger will be attached automatically:

JetBrains Rider: Choosing how to launch just-in-time debugger

Built-in server

Item

Description

Port

Use this spin box to specify the port on which the built-in web server runs. By default this port is set to 63342 through which JetBrains Rider accepts connections from services. You can set the port number to any other value starting with 1024 and higher.

Can accept external connections

If this checkbox is selected, then the files on the built-in server running on the specified port are accessible from another computer.

If this checkbox is cleared (by default), then the debugger listens only to local connections.

Allow unsigned requests

For security reasons, any request to a page on the built-in server from outside JetBrains Rider is by default rejected and the authorization popup is displayed.

debugger_allow_unsigned_requests.png

To access the requested page, click Copy authorization URL to clipboard and paste the generated token in the address bar of the browser.

However this behavior may be annoying, for example, it may block your debugging session if manual intervention is impossible. To suppress displaying the authorization popup, select the Allow unsigned requests checkbox.

Last modified: 20 October 2021