Что нового в dotMemory

На этой странице рассказывается о свежих обновлениях и изменениях в dotMemory.

Обновленное окно Monitoring в JetBrains Rider 2025.2

Мы полностью переработали окно Monitoring, чтобы сделать профилирование в Rider более наглядным и удобным. Теперь в окне есть интерактивные графики загрузки процессора, потребления памяти и работы сборщика мусора (GC), которые помогают быстро понять, как ведет себя приложение во время выполнения.

Из этого же окна можно сразу запустить профилирование производительности или памяти и изучить результаты во встроенных dotTrace и dotMemory либо в их отдельных версиях. На Windows инструмент мониторинга умеет автоматически определять узкие места в производительности, зависания интерфейса и проблемы со сборщиком мусора. Любые найденные проблемы или интересующие вас интервалы на графиках можно более глубоко проанализировать в dotTrace.

Подробнее

Анализ снэпшотов в Visual Studio 2025.1

dotMemory теперь полностью интегрирован с Microsoft Visual Studio. Раньше профилирование можно было запускать только в Visual Studio, а для анализа результатов нужно было переходить в отдельное приложение dotMemory. Теперь вы можете профилировать приложение и анализировать снимки памяти, не покидая IDE.

Пользовательский интерфейс 2024.3

В интерфейс внесено много небольших улучшений, и он был доработан, чтобы все версии dotMemory во всех операционных системах выглядели и работали одинаково.

Представление Creation Stack Trace для экземпляров объектов 2024.3

Мы вернули представление Creation Stack Trace, которое раньше было удалено при переработке интерфейса. Оно показывает стек вызовов функции, который привел к созданию объекта, и упрощает выяснение причин проблем с памятью.

Представление Back Traces для наборов объектов 2024.3

Мы вернули также представление Back Traces для наборов объектов. В нем отображается инвертированное дерево вызовов, которое показывает цепочку вызовов снизу вверх, начиная с функции, создавшей определенный набор объектов.

Визуализация доминаторов в виде сосульчатой диаграммы 2024.3

Доминаторное дерево теперь может отображаться как сосульчатая диаграмма, показывая потребление памяти доминатором и удерживаемыми объектами. Эта функция доступна в Windows, Linux и macOS как в автономной версии dotMemory, так и в dotMemory в JetBrains Rider.

Визуализация Call Tree в виде диаграммы «солнечные лучи» доступна во всех ОС 2024.3

В версии 2024.2 впервые стало можно представить дерево вызовов (Call Tree) в виде диаграммы «солнечные лучи», а теперь эта функция доступна в Windows, Linux и macOS как в автономной версии dotMemory, так и в dotMemory в JetBrains Rider.

Улучшенный поиск экземпляров 2024.2

Мы добавили новые возможности фильтрации в представлении Instances:

  • Поиск по строковому значению: введите любое строковое значение в поле фильтра, и dotMemory подсветит соответствующие строки. Благодаря этому проще найти экземпляры конкретных строк по их содержимому.
  • Поддержка регулярных выражений в строковых значениях: регулярные выражения позволяют сделать поиск более точным. Например, ^nAsso.{5,}ID$ соответствует nAssociatedObjectID.nAssociatedObjectID.
  • Поиск по адресу объекта: экземпляры объектов можно найти также по их адресам в памяти. Это удобно для прямого отслеживания объектов.

Эти функции доступны в автономной версии dotMemory, а также в dotMemory в JetBrains Rider.

Улучшения в dotMemory для Linux и macOS 2024.2

В версии dotMemory для Linux и macOS появились функции, которые до сих пор были доступны только в Windows:

  • Автоматические инспекции памяти: теперь в dotMemory для Linux и macOS есть представление Inspections, где отображаются автоматически обнаруженные проблемы с использованием памяти.
  • Сравнение снэпшотов между рабочими пространствами: теперь можно сравнить разные сеансы профилирования.

Эти функции доступны в автономной версии dotMemory, а также в dotMemory в JetBrains Rider.

Визуализация Call Tree с помощью диаграммы Sunburst 2024.2

В новой версии дерево вызовов Call Tree можно отобразить в виде диаграммы «солнечные лучи» (Sunburst), где будут выделены функции, которые используют больше всего памяти. Функция доступна в автономной версии dotMemory (Linux и macOS), а также в dotMemory в JetBrains Rider (Windows, Linux и macOS).

Поддержка приложений MAUI

Поддержка приложений MAUI 2024.1

В новой версии можно профилировать приложения на основе фреймворка MAUI.

В настоящее время dotMemory поддерживает только профилирование приложений WinUI для .NET 7.0+ в Windows.

Это касается и автономного dotMemory, и dotMemory в Rider и ReSharper.

Улучшенная поддержка macOS 2024.1

  • Новая версия автономного инструмента dotMemory позволяет указывать пакеты приложений (.app) вместо исполняемых файлов.
  • dotMemory в Rider может профилировать конфигурации запуска macOS. Поддерживаются следующие целевые фреймворки: net7.0-macos, net8.0-macos.
Новые представления для Linux и macOS в dotMemory

Новые представления для Linux и macOS в dotMemory 2024.1

В автономном инструменте dotMemory для Linux и macOS появились функции, которые уже были доступны в версии для Windows:

  • представление Similar Retention для анализа наборов объектов;
  • диаграмма Sunburst для анализа объектов доминаторов.

Поддержка Frozen Object Heap 2024.1

Информация о неизменяемых объектах Frozen Object Heap показывается на хронологическом графике, на диаграмме Heap Fragmentation и в представлении Generations.

Автономный инструмент dotMemory для Linux и macOS 2023.3 Бета-версия

Теперь в операционных системах Linux и macOS можно использовать автономную версию.

Анализ дампов процессов в Linux 2023.3

В новой версии dotMemory можно импортировать и анализировать дампы как обычные снэпшоты Linux. Обратите внимание: в версии dotMemory для Linux можно импортировать только дампы процессов, запущенных в Linux OS.

Анализ снэпшотов в JetBrains Rider 2023.2

В прежних версиях Rider модуль dotMemory можно было использовать только для анализа распределения памяти. Теперь же можно собирать снэпшоты памяти и анализировать их в Rider точно так же, как в автономной версии dotMemory.

  • Анализ снэпшотов работает на Windows, Linux и macOS.
  • В Windows можно также импортировать и анализировать дампы процессов.
  • Некоторые функции и представления недоступны, например автоматические инспекции снэпшотов и представление трассировки стека.