JetBrains Rider 2022.3 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 Rider. The plugin is installed along with Rider automatically with no additional actions needed. If you want to disable the plugin, use the Rider's Plugins settings.

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