JetBrains Rider 2023.1 Help

Memory profiling of .NET code

The goal of memory profiling is to find the cause of memory and performance issues in an application. It can give answers to questions like "What functions allocate so much memory?", "Why is this object still in memory (a memory leak)?", "How does garbage collection affect performance," and more.

JetBrains Rider integrates with the dotMemory profiler to provide memory profiling of .NET applications. You can use the profiler via the dotMemory Profiler tool window.

Limitations

  • It's not possible to get and analyze memory snapshots. You can use the profiler only to analyze memory allocation.

Installation and licensing

dotTrace and dotMemory are provided as a single bundled plugin for JetBrains Rider, which is added and enabled automatically during the IDE installation. If you want to disable the plugin, open the Plugins page of the IDE settings Ctrl+Alt+S, switch to the Installed tab and clear the checkbox next to dotTrace and dotMemory.

Note that the dotTrace and dotMemory plugin is available in Rider only for the owners of dotUltimate or All Products Pack subscriptions.

Supported operating systems and frameworks

  • OS: Windows, Linux, macOS.

  • Frameworks:

    • .NET Framework 1.0 – 4.8 (Windows only).

    • .NET Core 1.0 – 3.1, .NET 5 – 7.

The profiler is able to attach only to native, .NET Framework 4.0+, .NET Core 3.0+, and .NET 5+ processes.

What can you profile with dotMemory in Rider

Currently, you can use dotMemory in Rider only to analyze memory allocation including the allocation call tree, the list of allocated objects, and other data.

Last modified: 02 December 2022