What′s New in dotMemory

This page guides you through updates in recent dotMemory and dotMemory Unit releases. Highlights include a command-line profiling tool, support for .NET Core applications, and analyzing memory dumps.

Download dotMemory

Free 30-day trial

Updates to memory allocation analysis 2021.2

In this release, we have continued to improve the way you analyze memory allocation. Two new tabs have been added to the Memory Allocation view:

  • The Methods tab lets you analyze a plain list of methods that have allocated memory.
  • The Call Tree tab lets you analyze the allocation call tree. Each node in the tree shows not only the called method but also the objects allocated by the call.

Improved filters 2021.2

The search bar at the top of dotMemory views is now more flexible and easier to use:

  • The filters have additional options for narrowing the search scope: #struct (search only in value types), #c (only in types), #m (only in methods), #ns (only in namespaces).
  • You can get help for all filters possible in a given context.

Improved object export 2021.2

It’s now possible to:

  • Specify the traversal depth when exporting object data.
  • Select one or more types and export their data to a single file.
  • Export object data from the Instances, Outgoing References, and Unreachable Objects views.

Console profiler update 2021.2

It’s now possible to use service messages to enable and disable the collection of memory allocation data.

Copy stack trace to clipboard 2021.2

A stack trace copied to the clipboard in dotMemory is now automatically opened in Rider / Visual Studio with ReSharper.

New Home Screen 2021.1

We’ve completely reworked the dotMemory Home screen – it is much easier to configure and start new profiling sessions, work with snapshots, and perform other basic operations.

Support for Linux dumps

Support for Linux dumps 2021.1

Now, you can analyze dumps of .NET Core applications collected on the Linux systems using gcore.

Improved memory allocation analysis

Improved memory allocation analysis 2021.1

Now, dotMemory lets you analyze memory allocation on an arbitrary time interval. Just select the interval on the timeline and the Memory Allocation view will show you the objects allocated on this interval, as well as the stack trace that allocated them.

.NET 5 support 2020.3

dotMemory now lets you profile .NET 5 applications on Windows, macOS, and Linux. Note that to profile applications on Linux and macOS, you should use dotMemory command-line profiler.

Timeline inspections

Timeline inspections 2020.3

dotMemory uses the timeline data to provide automatic inspections right on the Timeline graph.

Currently, there are three inspections available:

  • High Garbage Collection pressure
  • Pinned objects in Gen0
  • Fast Large Objects Heap growth rate
Pinned object heap support

Pinned object heap support 2020.3

.NET 5 introduced a separate heap segment for storing pinned objects - objects that cannot be moved in a heap which leads to heap fragmentation. dotMemory shows the Pinned Object Heap in the Heap Fragmentation View. Also, now dotMemory shows memory allocated to the Pinned Object Heap in real-time during profiling.

Various timeline improvements

Various timeline improvements 2020.3

  • Garbage collections are shown on a separate graph below the main timeline.
  • Now, you can select a particular time range on the timeline: The information about GC time and allocated memory will be shown for the selected time range.
  • Performance improvements.
Support for ARM64 architecture

Support for ARM64 architecture 2020.2

The dotMemory command-line profiler for Linux (any distribution with GLIBC_2.23 or later) lets you profile applications on ARM64 systems.

View pinned objects

View pinned objects 2020.2

You can now open pinned objects as a separate object set.

View unreachable objects

View unreachable objects 2020.2

You can now open objects that are not reachable from GC roots as a separate object set.

Various improvements

Various improvements 2020.1

In this release, we were focused on bugfixes and stability improvements.

Various improvements in dotMemory 2019.3

Various improvements 2019.3

dotMemory 2019.3 gets a number of updates:

  • The new self-profiling API (the API that lets applications initialize and start a profiling session by themselves) is much easier to use. The self-profiling API is distributed as a NuGet package.
  • You can export details about a particular object instance to a file (.json, .bson, .txt, .hex).
  • You can view a virtual memory address of an object instance.

Console profiler improvements 2019.2

dotMemory 2019.2 stops supporting remote profiling. To offer you an adequate replacement, we significantly improved the dotMemory console profiler:

  • The console profiler gets commands to profile all types of applications including .NET Core applications, IIS Express-hosted applications, Windows services, and others.
  • The --trigger-on-activation argument allows taking a memory snapshot right after this becomes possible. This feature can be helpful in case you want to take a baseline snapshot and use it for comparison.
Download dotMemory

Free 30-day trial