Support for Various .NET Applications
dotMemory lets you profile a variety of applications based on .NET Framework (2.0 and higher), such as desktop
applications, ASP.NET web applications, IIS, IIS Express, Windows services, Universal Windows Platform applications,
arbitrary .NET processes, and more.
Easy and Comprehensive User Interface
While memory profiling has the reputation of being for pros only, dotMemory's unique user interface lowers that entry
barrier dramatically and makes memory profiling straightforward. You simply move from top to bottom, from a set of
objects down to particular instances, until you identify the real cause of memory issues.
Analyzing Memory Traffic
Excessive allocations and garbage collections may imply significant memory management overhead. Use the traffic
view to understand what objects are created/collected most intensively in your application and what functions are
causing this memory traffic.
Powerful Automatic Inspections
To ease your life, dotMemory automatically scans your snapshot for most common types of memory issues. These
inspections can be a great starting point in analyzing a snapshot if you don't know where to begin.
Profile applications not only on your local computer but on any computer in your network or on the Internet. Remote
profiling is especially helpful when you need to profile a web application on a production server.
Taking the right moment for getting a snapshot is very important for memory analysis. Use the dotMemory API calls to
take snapshots at the exact places of your code.
Visual Studio Integration
dotMemory integrates with Visual Studio so you can start a memory profiling session right from the IDE, whenever you
need. Later on, you can navigate from a type in a dotMemory object set to the type's declaration in Visual Studio.
Timeline View with Real-Time Data Collection
Monitor memory consumed by your application, get snapshots and drop them to compare in one click.
Multiple Views on Data
Examine objects in the heap from multiple views. Want to know how objects relate to each other? What objects do they
reference and through what fields? Want to know which calls created these objects? No problem! dotMemory has a view