Use this page to configure behavior of the Debugger and customize its view.
|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.
Select how you want to remove breakpoints:
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
|Allow editing in the debug mode|
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.
|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:|
|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:|
|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.
|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|
|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: |
|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: |
|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|
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
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:
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.
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.