JetBrains Rider 2025.3 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

  1. Open the desired Run/debug configuration.

  2. Check the Use mixed mode debug option in the configuration settings.

    JetBrains Rider: Mixed mode debug 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.

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
25 July 2025