.NET Memory proFILEr is a powerful tool for finding memory leaks and optimizing the memory usage in programs written in C#, VB.NET or any other .NET Language.
.NET Memory Profiler will help you to:
View real-time memory and resource information
The profiler presents real-time information about all .NET instance allocations performed on the garbage collected heap and all instances that reside on the heap.
Easily identify memory leaks by collecting and comparing snapshots of .NET memory
Snapshots include data about the .NET instance allocations and live instances at the time the snapshot was collected. They provide a lot of useful information and make it easy to identify potential memory leaks, especially when two snapshots are compared.
Find instances that are not properly disposed
The profiler also contains a dispose tracker, which provides additional data about disposable instances (i.e. instances of classes implementing the System.IDisposable interface).
Get detailed information about unmanaged resource usage
The unmanaged resources tracker can collect detailed information about unmanaged resources (such as HWND, HBITMAP and unmanaged memory) and present it together with the .NET memory information.
Optimize memory usage
The heap-utilization tracker will tell you how the managed heaps are used. Together with the real-time view and the dispose tracker this information can be used to optimize the memory usage of the application.
INVESTigate memory problems in production code
Profiling memory problems in production code is greatly simplified by using the "attach to process" feature and the possibility to import memory dump files.
Perform automated memory testing
The .NET Memory Profiler API makes it possible to automatically Detect memory leaks and control the profiler from within the profiled program.
Retrieve information about native memory
In addition to presenting information