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:
The automatic memory analyser will help you locate potential memory leaks, such as left-over EventHandlers. (more...)
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.
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.
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...)
.NET Memory Profiler will help you find memory leaks. Download the free trial to see how it can help you making sure that there are no memory leaks in your application.
Download Free Trial