dotMemory
 
Get dotMemory

First Look at the User Interface

Last modified: 24 July 2024

We want you to think of your work in dotMemory as of some sort of crime investigation (memory analysis in terms of dotMemory). The main idea here is to collect data (one or more memory snapshots) and choose a number of suspects (analysis subjects that potentially cause the issue). So, you start with some list of suspects and continuously narrow this list. One suspect may lead you to another, and so on, until you determine the guilty one.

basic_concepts_4.png

This analysis concept (when you narrow your research scope from bigger to smaller entities) is what makes dotMemory so different compared to other profilers. Unlike competitors, dotMemory allows you to operate not only with separate objects but with so-called object sets. Object set is a number of objects selected by a specific condition. To ease the understanding, think of an object set as of the result of some query (very similar to an SQL query). For example, you can tell dotMemory something like "Select all objects created by the call SomeCall(); and promoted to Gen 2", or "Select all objects retained in memory by the instance A", and so on.