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 profiling running applications with drag and drop.

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

Navigate through view history 2016.1

Like a web browser stores the history of visited Internet pages, dotMemory now stores your navigation history through dotMemory views.

Similar to how you do in a web browser, you can navigate back and forward to previously opened views using navigation buttons.

Navigate to type declarations in Visual Studio 10

You can now navigate from any type in an object set to its declaration in Visual Studio. First, dotMemory tries to locate a selected type in an open instance of Visual Studio, displaying a disambiguation pop-up if necessary, and then gets you straight to Visual Studio code editor where the type is declared.

You can even navigate from a library type in your dotMemory object set to decompiled code of this library type in Visual Studio.

Note that this feature requires that JetBrains ReSharper is installed in Visual Studio.

dotMemory Home view 10

dotMemory receives a Home view similar to that available in recent versions of dotTrace.

This view helps set up new local or remote profiling sessions, provides a summary of recent profiling sessions, helps you reopen or import a profiling workspace, exposes dotMemory settings, and gives an overview of available documentation.

Download dotMemory
Free trial for 5 days of actual use