Find Memory Leaks

Even though the .NET runtime has a garbage collector, memory leaks are still a reality. A memory leak occurs when an instance that is no longer needed is still, unintentionally, reachable from a root (e.g. a static field).

By using .NET Memory Profiler you can detect memory leaks long before they are noticed in the Task manager and before they create an out-of-memory error. Even a minor memory leak can cause problems in a long-running program.

.NET Memory Profiler will:

  • Investigate memory leaks guide

    Guide you through the process of detecting memory leaks

    An interactive profiling guide will give you step by step instructions on how to detect a memory leak. (more...)

  • Compared snapshots

    Help you identify memory leaks by collecting and comparing snapshots

    Snapshots of the memory usage can be collected before and after a user action is performed (e.g. opening and closing a document). Comparing the snapshots will provide information about new instances created by the action. You can then investigate the new instances further to find out whether they are part of a memory leak or not.

  • Disposed instances analysis issue

    Automatically analyze memory usage and highlight potential memory leak issues

    The automatic memory analyser will help you locate potential memory leaks, such as left-over EventHandlers. (more...)

  • Root path

    Present root paths of new instances that are potential memory leaks

    The root paths tell you why the instance has not been garbage collected. This is the most important information you need when finding out how a memory leak occurs.

  • Allocation call stack

    Give you information about how the instances were created

    To understand why an instance is unintentionally kept alive, it is crucial that you know how it was created, and how other instances in the root path was created. .NET Memory Profiler will present the allocation call stack for each instance in the snapshot.

  • Instance graph

    Visualize how an instance is being used

    The instance graph will give you the full picture of a how a suspected memory leak instance is being used, how it is related to other instances, and, maybe most importantly, how roots are preventing it from being garbage collected. (more...)