.NET Memory Profiler 5.0 Preview

SciTech Software is pleased the first preview of .NET Memory Profiler 5.0. The major new features of .NET Memory Profiler 5.0 are:

Several other features will also be included in the final release of .NET Memory Profiler 5.0, such as additional memory assertions, additional analysis issues, and improved instance field data collection.

Enterprise edition

.NET Memory Profiler 5.0 comes with a new edition, the Enterprise edition. Several of the new features will only be available in the Enterprise edition, such as the Visual Studio test runner, remote profiling and multiple process profiling.

Licensed users of .NET Memory Memory Profiler 4.6 Professional, with an active subscription, will have access to all Enterprise edition features in the preview. Once the full version of .NET Memory Profiler 5.0 is released, there will be a possibility to upgrade from the Standard and Professional editions to the Enterprise edition.

New WPF based user interface

The .NET Memory Profiler user interface has been converted to WPF, with a more modern look and an improved user experience.

Easily run unit tests under the profiler using the Visual Studio test runner

By using the "Run unit tests under profiler" command, you can now easily run your unit tests under the profiler. For more information, see the demo below.

Profiler unit tests demo
Click on image to play demo.

Remote profiling

Remote profiling allows you to use a development computer to profile a process running on a computer where you do not want to or cannot install the full profiler. The NmpCore tool is used on the remote computer to provide remote profiling access to the computer. The new command line argument "/remoteagent" (short form "/ra") is used to enable remote profiling. For instance by using the command:

NmpCore /ra

By default the port 35650 is used for remote profiling. This can be overridden by using the argument "/remoteagentport" (short form /rap"). For example:

NmpCore /ra /rap:25000

The demo below shows how to start a remote profiling session.

Type and Filter details instances graph demo
Click on image to play demo.

You can use the link in the side-bar to download version 5.0 of NmpCore, which is required for remote profiling.

Profile multiple processes within the same session

In the Enterprise of .NET Memory Profiler, the profiler will by default profile all child processes that are created by the profiled process. This simplies profiling of processes that are started using a .NET implemented launcher process. It will also be possible to profile all startup projects in a Visual Studio solution, within the same profiling session. However, this feature is not included in the current preview.

Work with multiple sessions in the standalone profiler

It is now possible to work with more than one session in the standalone profiler as well. Each session is represented by a tabbed document similar to when running under Visual Studio.

Improved real-time presentation

The real-time view has been redesigned. Both graphical and numerical data is presented in the same view, and it is possible to use the time-selector to show numerical data at a specific time in an active session as well.

New real-time view

Support for snapshots that are larger than 4 GB

It is now possible to collect snapshots with instance data that is greater than 4 GB. This is only available when running the standalone profiler on a 64-bit OS. Due to overhead in the profiler, it is recommended that a machine with at least 32 GB of memory is used when collecting snapshots larger than 4 GB.

Known issues

This is a preview, so there is missing functionality and there will most likely be bugs that can cause the profiler to crash.

.NET Memory Profiler 5.0 requires .NET Framework 4.0 or later to be installed. If using .NET Framework 4.0, .NET Framework update KB2468871 must also be installed.

NmpCore 5.0 requires .NET Framework 3.0 or later to be installed.

Some other things that are left to fix:

  • Real-time data is not collected when remote profiling.
  • Root paths for resource instances are not presented.
  • A lot of UI-tweaking is still needed.
  • Profiling of all start-up processes in a Visual Studio solution.
  • Additional memory assertions.
  • Improved collection of instance data.
  • Installer should install the required prerequisites, i.e. .NET Framework 4.5 or .NET Framework 4.0 with KB2468871.

If you have any comments, error reports, or suggestions related to .NET Memory Profiler 5.0, please send an e-mail to memprofiler@scitech.se

Preview release notes

Below is a summary of additions and changes to .NET Memory Profiler 5.0 preview:

Version 5.0.29, released November 28, 2014

  • Fix: Sessions saved using NmpCore could become corrupt.
  • Fix: Gen #0 snapshot collections in NmpCore became full snapshot collections.
  • Fix: Progress messages not always presented in NmpCore.
  • Fix: Context menu was not shown in the instance graph.
  • Fix: Transfer of session data from a remote session could fail.

Version 5.0.27, released November 26, 2014

  • New: Initial .NET Memory Profiler 5.0 preview release.