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
The 2022.2 version has the following limitations:
Memory profiling is available only on Windows.
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 only.
Frameworks:
.NET Framework 1.0 – 4.8.
.NET Core 1.0 – 3.1, .NET 5 – 6.
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.