dotMemory Features

dotMemory is a .NET memory profiler that can be
launched right from Visual Studio or as a standalone tool.

Download dotMemory

Free trial for 5 days of actual use

Support for Various .NET Apps

Profile apps based on .NET Framework 2.0 to 4.5.2, Silverlight, Universal Windows Platform and IIS applications.

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 app 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.

Remote Profiling

Profile apps 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 app on a production server.

Profiling API

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 for everything.

Comparing Memory Snapshots

Comparing two snapshots is the main way to find objects that are causing a memory leak. Use the comparison view to find out how many objects were created between snapshots and how many objects were collected.