На этой странице рассказывается о свежих обновлениях и изменениях в dotMemory.
Мы полностью переработали окно Monitoring, чтобы сделать профилирование в Rider более наглядным и удобным. Теперь в окне есть интерактивные графики загрузки процессора, потребления памяти и работы сборщика мусора (GC), которые помогают быстро понять, как ведет себя приложение во время выполнения.
Из этого же окна можно сразу запустить профилирование производительности или памяти и изучить результаты во встроенных dotTrace и dotMemory либо в их отдельных версиях. На Windows инструмент мониторинга умеет автоматически определять узкие места в производительности, зависания интерфейса и проблемы со сборщиком мусора. Любые найденные проблемы или интересующие вас интервалы на графиках можно более глубоко проанализировать в dotTrace.
dotMemory теперь полностью интегрирован с Microsoft Visual Studio. Раньше профилирование можно было запускать только в Visual Studio, а для анализа результатов нужно было переходить в отдельное приложение dotMemory. Теперь вы можете профилировать приложение и анализировать снимки памяти, не покидая IDE.
В интерфейс внесено много небольших улучшений, и он был доработан, чтобы все версии dotMemory во всех операционных системах выглядели и работали одинаково.
Мы вернули представление Creation Stack Trace, которое раньше было удалено при переработке интерфейса. Оно показывает стек вызовов функции, который привел к созданию объекта, и упрощает выяснение причин проблем с памятью.
Мы вернули также представление Back Traces для наборов объектов. В нем отображается инвертированное дерево вызовов, которое показывает цепочку вызовов снизу вверх, начиная с функции, создавшей определенный набор объектов.
Доминаторное дерево теперь может отображаться как сосульчатая диаграмма, показывая потребление памяти доминатором и удерживаемыми объектами. Эта функция доступна в Windows, Linux и macOS как в автономной версии dotMemory, так и в dotMemory в JetBrains Rider.
В версии 2024.2 впервые стало можно представить дерево вызовов (Call Tree) в виде диаграммы «солнечные лучи», а теперь эта функция доступна в Windows, Linux и macOS как в автономной версии dotMemory, так и в dotMemory в JetBrains Rider.
Мы добавили новые возможности фильтрации в представлении Instances:
^nAsso.{5,}ID$ соответствует nAssociatedObjectID.nAssociatedObjectID. Эти функции доступны в автономной версии dotMemory, а также в dotMemory в JetBrains Rider.
В версии dotMemory для Linux и macOS появились функции, которые до сих пор были доступны только в Windows:
Эти функции доступны в автономной версии dotMemory, а также в dotMemory в JetBrains Rider.
В новой версии дерево вызовов Call Tree можно отобразить в виде диаграммы «солнечные лучи» (Sunburst), где будут выделены функции, которые используют больше всего памяти. Функция доступна в автономной версии dotMemory (Linux и macOS), а также в dotMemory в JetBrains Rider (Windows, Linux и macOS).
В новой версии можно профилировать приложения на основе фреймворка MAUI.
В настоящее время dotMemory поддерживает только профилирование приложений WinUI для .NET 7.0+ в Windows.
Это касается и автономного dotMemory, и dotMemory в Rider и ReSharper.
.app) вместо исполняемых файлов. net7.0-macos, net8.0-macos.
В автономном инструменте dotMemory для Linux и macOS появились функции, которые уже были доступны в версии для Windows:
Информация о неизменяемых объектах Frozen Object Heap показывается на хронологическом графике, на диаграмме Heap Fragmentation и в представлении Generations.
Теперь в операционных системах Linux и macOS можно использовать автономную версию.
В новой версии dotMemory можно импортировать и анализировать дампы как обычные снэпшоты Linux. Обратите внимание: в версии dotMemory для Linux можно импортировать только дампы процессов, запущенных в Linux OS.
В прежних версиях Rider модуль dotMemory можно было использовать только для анализа распределения памяти. Теперь же можно собирать снэпшоты памяти и анализировать их в Rider точно так же, как в автономной версии dotMemory.