JetBrains Rider 2023.3 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 use Hot Reload, which is configured on the Build, Execution, Deployment | Hot Reload page of the IDE settings  Ctrl+Alt+S.

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 over a line where it is possible to set a breakpoint:

JetBrains Rider: Breakpoint suggestion on mouse hover

Enable external source debug

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 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

JIT (Excluding Mono)

Disable JIT optimization on module load

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.

Use JIT even if pre-compiled assemblies are available

If a pre-compiled image (NGen, CrossGen, or any AOT) is loaded for an assembly, JIT will not run and disabling JIT optimization has no effect. This option lets the debugger ignore the pre-compiled image and makes JIT compile the assembly. It slows down the process startup, but allows inspecting optimized local variables in the assembly (if JIT optimization is disabled).

Value inspections

Allow property evaluations and other implicit function calls

Enables automatic evaluation of properties and implicit calls such as ToString() in editor tooltips on mouse hover and in watches. You may want to disable this option when properties in the debugged code have computationally expensive code in their getters, or when property getters may change the program state or have other side effects.

Evaluation timeout

Defines the timeout, after which the evaluation 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 objects hierarchy

Show non-public members in a separate group

Cluster big arrays

Add raw view for debugger browsable values

Show compiler-generated members

Show type variables

Exceptions

Break on user-unhandled exceptions (Excluding Mono)

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 (Excluding Mono)

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 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 $p1//product-profile[@id=$p2]/@name 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

Blazor WASM Debugging

Enable Blazor WASM Debugging

  • Enable debugging Blazor WASM Backend

  • Enable browser Logs — Adds --enable-logging --v=1 switches to Chromium-based browsers. Note that logs might affect browser performance, spawn additional windows, and cause various browser-specific effects.

  • Enable default browser CLI options — If this option is enabled:

    • JetBrains Rider will pass default command-line arguments to the browser when the debugger launches it, for example chrome.exe --remote-debugger-port=123123

    • Options on the Tools | Web Browsers and Preview page of the IDE settings  Ctrl+Alt+S will be ignored.

    • JetBrains Rider will create a unique user data directory for each new browser session.

Debugger data flow analysis

Enable debugger data flow analysis

Enables or disables Predictive debugger.

Predictive debugger is disabled

Predictive debugger is enabled

JetBrains Rider: predictive debugger is disabled
JetBrains Rider: predictive debugger

Enable colorized mode

When enabled, results of boolean expressions are highlighted in color; otherwise they are shown as inline hints.

Colorized mode

Colorized mode disabled

JetBrains Rider: predictive debugger is the colorized mode
JetBrains Rider: predictive debugger with the colorized mode disabled

Evaluation timeout

After stepping into a function, predictive debugger is performed in a limited timeframe, which is 3000 milliseconds by default. In complex functions, this may not be enough to analyze all execution paths; on the other hand, stepping speed may be affected. If necessary, you can increase or decrease the default timeout

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 a Page 404 is displayed.

To allow access to the requested page, select the Allow unsigned requests checkbox.

Last modified: 18 March 2024