JetBrains Rider 2026.1 Help

Mixed-mode debugging in Unity

Mixed-mode debugging in Rider allows you to debug both .NET and C/C++ code in a single session. This feature is particularly useful when working with applications that involve interoperability between managed and native code, such as using DllImport to call native functions from C#.

Enable mixed-mode debugging in a run configuration

  1. Open the desired Run/debug configuration.

  2. Check the Enable mixed-mode debugging option in the configuration settings.

    JetBrains Rider: Mixed-mode debugging in run configuration
  3. Start a debug session. Note that the first execution may take longer as the debugger has to load the required symbols for both managed and native code.

Debug a process in mixed mode

  1. Select Run | Reattach to Process… from the main menu.

  2. Select the desired process and then choose Attach with .NET and Native Debuggers.

    JetBrains Rider: Debug a process in mixed mode

Once mixed-mode debugging is enabled, you can:

  • Step into native C/C++ code from C#. For example, if you're using DllImport to declare interop methods, the debugger will seamlessly transition from C# to the corresponding native method.

  • Set breakpoints in your native C/C++ code, and the debugger will pause execution accordingly.

Ensure that the symbols for your native libraries are loaded. You can verify the symbol status in the Modules (LLDB) tab within the debugger tool window.

View all frames

By default, Rider filters out library frames from the call stack. To see all call stack frames, including library ones, right-click the desired thread in the Debug window and choose Show/Hide Library Frames from the context menu.

JetBrains Rider: View all frames in the mixed-mode debugging
30 January 2026