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
Free trial for 5 days of actual use
Importing memory dumps

Importing memory dumps 2017.2

You can now import raw Windows memory dumps (typically, you get them using Task Manager or Process Explorer) and analyze them using the power of dotMemory.

This feature is currently in Beta status: although it's 100% functional, we were simply unable to test it on all possible combinations of Windows and .NET Framework versions. It's still possible that on some of these combinations, dotMemory won't show you all expected data in the resulting snapshot.

Better UI 2017.2

The dotMemory user interface was slightly redesigned to make navigation through analysis subjects and views easier. An additional benefit of this effort is the increased views area.

Reworked Dominators view 2017.2

The Dominators view was reworked to make it easier to reveal key objects in your application. The tree of dominators is now combined with the dominators sunburst chart.

Attach using drag and drop

Profile running apps with drag and drop 2017.1

You can now attach the profiler to running applications using drag and drop. Simply drop a special icon onto the application window that you want to profile.

Command-line profiler

Command-line profiler 2017.1

dotMemory 2017.1 includes the dotMemory.exe tool that allows you to profile from the command line. The tool is extremely helpful when you need to automate the process of gathering memory snapshots, e.g. if you want to make profiling a part of your continuous integration builds.

Finalizable objects inspection 2016.3

dotMemory 2016.3 checks your application on finalized objects and objects queued for finalization. A new inspection shows such objects on the snapshot overview page.

Profile .NET Core applications out of the box 2016.3

Now, if you have .NET Core tools installed on your computer, you can profile .NET Core applications without any additional effort.

The workflow is pretty straightforward. Simply select .NET Core Application on the Home page, specify the executable and click Run.

Compare snapshots from different sessions 2016.2

dotMemory 2016.2 allows you to compare memory snapshots stored in different workspaces: that is, collected in different profiling sessions.

This can be useful to find out how particular changes in code affect your application's memory usage. All you need are two snapshots taken before and after committing changes.

Improvements in dotMemory Unit 2.2

Improvements in dotMemory Unit Unit 2.2, 2.3

dotMemory Unit versions 2.2 and 2.3 bring an array of improvements:

  • Refined APIs to work with unit testing frameworks that are not supported out-of-the-box, such as new arguments accepted in DotMemoryUnitController methods TestStart() and TestFailed().
  • You can now place any number of AssertTraffic attributes before the test and filter traffic by any set of conditions.
  • Object selection queries now support open generic types, which is useful if you want to get all substitutions of your generic type.
  • GetNewObjects, GetSurvivedObjects, and GetDeadObjects methods receive overloads that accept query as a parameter. This helps avoid an additional GetObjects call and simplify assertions.
  • You can select objects by wildcards using the Like and NotLike queries on types, interfaces, and namespaces.
  • You can use three constants when specifying a directory for saving workspaces in the DotMemoryUnit attribute. The constants are written in angle brackets: <User>, <LocalAppData>, <CommonAppData> and stand for %USERPROFILE%, %APPDATA%, and %LOCALAPPDATA% directories, respectively.
  • Improved performance of key queries: Type.Is, Interface.Is and Namespace.Like.
  • Tests that execute queries from child processes are now handled correctly.
Download dotMemory
Free trial for 5 days of actual use