WMemoryProfiler is a free profiler that can be used inside integration tests, in order to verify that components do not leak memory.
WMemoryProfiler is a managed .NET Profiler that supports .NET 2.0 up to .NET 4.5. It is able to attach to running processes, even if they are not running .NET 4.0 where the profiling API supports it. This is possible as it doesn’t use the profiling API but Windbg to retrieve data from managed processes.
- Self Debugging.
- Instance Tracking.
- Retrieve object instances from all managed heaps.
- Retrieve memory stats from own process.
- Retrieve memory stats from other process.
Going forwards from version 2, the tool ceases using Windbg for heap memory snapshots and instead uses ClrMD. This allows for taking consistent heap snapshots at safe time points. It also supports more sophisticated asserts based on object count or total memory per type or total heap size.
WMemoryProfiler is a great tool for anyone who needs to check their memory usage before they enter the production server inside integration tests.