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 search bar at the top of dotMemory views is now more flexible and easier to use:
It’s now possible to:
It’s now possible to use service messages to enable and disable the collection of memory allocation data.
A stack trace copied to the clipboard in dotMemory is now automatically opened in Rider / Visual Studio with ReSharper.
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.
Now, you can analyze dumps of .NET Core applications collected on the Linux systems
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.
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.
dotMemory uses the timeline data to provide automatic inspections right on the Timeline graph.
Currently, there are three inspections available:
.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.
The dotMemory command-line profiler for Linux (any distribution with GLIBC_2.23 or later) lets you profile applications on ARM64 systems.
You can now open pinned objects as a separate object set.
You can now open objects that are not reachable from GC roots as a separate object set.
In this release, we were focused on bugfixes and stability improvements.
dotMemory 2019.3 gets a number of updates:
dotMemory 2019.2 stops supporting remote profiling. To offer you an adequate replacement, we significantly improved the dotMemory console profiler:
--trigger-on-activationargument 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.
Free 30-day trial