Esta página le guía por las actualizaciones en recientes versiones de dotMemory y dotMemory Unit. Los resaltados incluyen una herramienta de generación de perfiles de línea de comandos, compatibilidad con aplicaciones .NET y análisis de volcados de memoria.
Prueba gratuita de 30 días disponible
Ahora, puede generar perfiles de aplicaciones basadas en el marco de trabajo MAUI.
Actualmente, dotMemory es compatible con la generación de perfiles de aplicaciones WinUI orientadas a .NET 7.0+ en Windows.
La compatibilidad está disponible para la versión independiente de dotMemory y para dotMemory integrado en Rider y ReSharper.
.app
) en lugar de archivos ejecutables. net7.0-macos
y net8.0-macos
. La versión independiente de dotMemory en Linux y macOS se acerca más a su homóloga de Windows, ya que incluye:
La información sobre objetos inmutables en Frozen Object Heap se muestra en la línea de tiempo, el diagrama Heap Fragmentation y la vista Generations.
Ahora, puede ejecutar la versión independiente de dotMemory en los sistemas operativos Linux y macOS.
dotMemory ahora le permite importar y analizar volcados de procesos como instantáneas normales en Linux. Tenga en cuenta que la versión Linux de dotMemory solo puede importar volcados recogidos de procesos que se ejecuten en el SO Linux.
Antes de 2023.2, podía utilizar dotMemory en Rider solo para el análisis de la asignación de memoria. En 2023.2, puede recopilar instantáneas de memoria y analizarlas en Rider como en la versión independiente de dotMemory.
Ahora, puede usar dotMemory en CPU ARM64 en Windows. Esto es aplicable a todas las versiones: dotMemory independiente, dotMemory en Rider, dotMemory en Visual Studio y la herramienta de línea de comandos dotMemory.
Ya puede ejecutar el perfilador de línea de comandos dotMemory en CPU ARM32 en Linux. Los marcos compatibles son .NET Core 3.1 y .NET 5.0-7.0.
Además de en Windows, dotMemory ya está disponible para JetBrains Rider en Linux y macOS. Hay dos nuevos modos de generación de perfiles disponibles en el widget Run y en el menú Run | Switch profiler configuration: Memory (sampled allocations) y Memory (full allocations). Puede obtener más información acerca de las diferencias entre estos en la ayuda de dotMemory.
Puede adjuntar el generador de perfiles a un proceso en ejecución desde el menú Run y ver el Timeline Graph desplegarse en tiempo real. Seleccione un intervalo para abrir la vista Memory Allocations, que es la misma que en dotMemory Standalone. Le permite analizar los objetos asignados y el árbol de llamadas de asignación para un periodo de tiempo específico.
Por desgracia, en esta versión todavía no es posible recopilar instantáneas de memoria.
El perfilador de línea de comandos tiene ahora el argumento --saving-mode
, que permite establecer las condiciones para cuándo guardar un espacio de trabajo dotMemory.
Ahora, dotMemory está disponible en JetBrains Rider:
El complemento de dotMemory no permite tomar instantáneas y solo funciona en Windows en la versión 2022.2.
Ahora la herramienta de línea de comandos de dotMemory es compatible con las versiones 3.13-3.15 de Alpine. Se admiten las CPU y los marcos de trabajo siguientes:
Ahora, al obtener una instantánea con la ayuda de la API de generación de perfiles, puede especificar un nombre para la instantánea utilizando DotMemory.GetSnapshot("snapshot name");
El nombre se mostrará en la página Home | Snapshots de dotMemory.
Ahora puede adjuntar el generador de perfiles a una aplicación que esté en ejecución arrastrando el icono especial a la ventana de la aplicación.
Ahora, la herramienta de línea de comandos dotMemory muestra su progreso al guardar una instantánea.
Ahora, la vista Similar Retention procesa los datos mucho más rápido.
La herramienta de línea de comandos dotMemory ahora funciona en equipos con procesadores Apple Silicon. Ahora puede usar dotMemory CLT para generar perfiles de aplicaciones .NET 6 (modo nativo) y .NET 5 (modo Rosetta 2).
Hemos rediseñado por completo el algoritmo del árbol de dominadores (el gráfico de retención de objetos). Incluso si un conjunto de objetos contiene cientos de millones de objetos, dotMemory solo tardará un par de minutos en abrir una vista específica.
Ahora dotMemory puede obtener datos de muestreo de memoria asignada basándose en eventos ETW. En comparación con la forma tradicional (estadística) de recopilar datos de asignación, el muestreo es menos preciso, pero ofrece varias ventajas:
Tenga en cuenta que esta funcionalidad solo está disponible en Windows.
Ahora puede usar la vista Subsystems para analizar datos de memoria asignada. Un subsistema agrupa todos los métodos que pertenecen al mismo tipo, espacio de nombres o ensamblado. En la vista resultante, se muestran objetos creados por los subsistemas y un árbol de llamadas combinado para cada subsistema.
En esta versión, hemos seguido mejorando la forma de analizar la asignación de memoria. Se han añadido dos nuevas pestañas a la vista de asignación de memoria:
La barra de búsqueda, situada en la parte superior de las vistas de dotMemory, es ahora más flexible y fácil de usar:
Ahora es posible:
Ahora es posible utilizar los mensajes de servicio para habilitar y deshabilitar la recogida de datos de asignación de memoria.
Una traza de pila copiada en el portapapeles en dotMemory se abre ahora automáticamente en Rider / Visual Studio con ReSharper.
Hemos renovado por completo la pantalla de inicio de dotMemory: ahora es mucho más sencillo configurar e iniciar nuevas sesiones de creación de perfiles, trabajar con instantáneas y realizar otras operaciones básicas.
Ya puede analizar volcados de aplicaciones .NET Core recogidos en los sistemas Linux utilizando gcore
.
Ahora, dotMemory le permite analizar la memoria asignada en un intervalo de tiempo arbitrario. Seleccione el intervalo en la escala de tiempo y la vista Memory Allocation le mostrará los objetos asignados en este intervalo, así como la traza de pila que los asignó.
Prueba gratuita de 30 días disponible