Esta página dá detalhes sobre as últimas atualizações e alterações no dotMemory.
Avaliação gratuita por 30 dias disponível
A versão 2024.3 introduz algumas pequenas melhorias na experiência e na interface de usuário, além de alguns toques de acabamento que dão uma aparência unificada a todas as versões do dotMemory, em todos os sistemas operacionais.
Reintroduzimos a visualização Creation Stack Trace, que tinha sido removida anteriormente, durante a reformulação da interface de usuário. Essa visualização mostra a pilha das chamadas a funções usadas na criação de um objeto, facilitando a identificação da causa inicial de problemas de memória.
Também reimplementamos a visualização Back Traces para conjuntos de objetos. A árvore invertida de chamadas nessa visualização mostra de baixo para cima a sequência de chamadas desde a função que criou um determinado conjunto de objetos.
Agora a árvore de dominadores pode ser mostrada na forma de um gráfico de barras, mostrando o consumo de memória do dominador e dos objetos retidos. Este recurso está disponível para o dotMemory no Windows, Linux e macOS, tanto na versão stand-alone quanto no JetBrains Rider.
A possibilidade de visualizar árvores de chamadas na forma de gráficos de sunburst, introduzida na versão 2024.2, agora está disponível no dotMemory no Windows, Linux e macOS, tanto na versão stand-alone quanto no JetBrains Rider.
Adicionamos novas opções de filtragem à visualização Instances:
^nAsso.{5,}ID$
encontra nAssociatedObjectID.nAssociatedObjectID
. Esses recursos estão disponíveis tanto na versão stand-alone do dotMemory quanto na versão incluída no JetBrains Rider.
As versões do dotMemory para Linux e macOS ganharam recursos antes disponíveis somente no Windows:
Esses recursos estão disponíveis tanto na versão stand-alone do dotMemory quanto na versão incluída no JetBrains Rider.
Agora a Call Tree pode ser mostrada na forma de um gráfico de Sunburst, realçando as funções que alocarem mais memória. Este recurso está disponível na versão stand-alone do dotMemory (Linux e macOS) e no dotMemory no JetBrains Rider (Windows, Linux e macOS).
Agora você pode criar perfis de aplicativos baseados no framework MAUI.
No momento, o dotMemory tem suporte apenas a aplicativos de desktop do Windows, usando a WinUI e visando o .NET 7.0 ou mais recente.
Este suporte está disponível para o dotMemory tanto stand-alone quanto integrado ao ReSharper e ao Rider.
.app
) em vez de arquivos executáveis. net7.0-macos
e net8.0-macos
. As versões stand-alone do dotMemory para Linux e macOS ficaram mais próximas da versão para Windows, oferecendo:
As informações a respeito de objetos imutáveis no Frozen Object Heap são mostradas na timeline, no diagrama Heap Fragmentation e na visualização Generations.
Agora você pode executar a versão stand-alone do dotMemory nos sistemas operacionais Linux e macOS.
Agora o dotMemory permite importar e analisar dumps de processos como snapshots comuns no Linux. Observe que a versão do dotMemory para Linux só pode importar dumps coletados de processos executados no sistema operacional Linux.
Antes da versão 2023.2, você só podia usar o dotMemory no Rider para fazer análises de alocação de memória. Na versão 2023.2, você pode coletar snapshots de memória e analisá-los no Rider da mesma forma que na versão autônoma do dotMemory.
Agora, você pode usar o dotMemory em CPUs ARM64 no Windows. Isso se aplica a todas as versões: dotMemory standalone, dotMemory no Rider, dotMemory no Visual Studio e a ferramenta de linha de comando do dotMemory.
Agora, você pode executar o profiler de linha de comando dotMemory em CPUs ARM32 no Linux. Os frameworks suportados são o .NET Core 3.1 e o .NET 5.0–7.0.
Além do Windows, agora o dotMemory também está disponível para o JetBrains Rider no Linux e no macOS. Dois novos modos de profiling estão disponíveis no widget Run e na opção Run | Switch profiler configuration do menu – Memory (sampled allocations) e Memory (full allocations). Você pode saber mais sobre as diferenças entre esses modos na Ajuda do dotMemory.
Você pode anexar o profiler a um processo em execução a partir do menu Run e ver o Timeline Graph se desenrolando em tempo real. Selecione um intervalo para abrir a visualização Memory Allocations, que é a mesma do dotMemory Standalone. Isso permite que você analise os objetos alocados e a árvore de chamadas de alocação para um intervalo de tempo específico.
Infelizmente, ainda não é possível obter snapshots de memória nesta versão.
Agora, o profiler de linha de comando tem o argumento --saving-mode
, que permite definir condições para quando salvar um espaço de trabalho do dotMemory.
Agora o dotMemory está disponível diretamente no JetBrains Rider:
O plug-in do dotMemory não permite coletar snapshots e só funciona no Windows e na versão 2022.2.
Agora a ferramenta de linha de comando do dotMemory tem suporte às versões 3.13–3.15 do Alpine. As seguintes CPUs e frameworks são suportados:
Ao tirar um snapshot com a ajuda da API de profiling, agora você pode especificar um nome para o snapshot, usando DotMemory.GetSnapshot("snapshot name");
Esse nome será mostrado na página Home | Snapshots do dotMemory.
Agora você pode anexar o profiler a um aplicativo já em execução simplesmente arrastando o ícone especial até a janela do aplicativo.
Agora a ferramenta de linha de comando do dotMemory mostra o progresso ao salvar um snapshot.
Agora a visualização Similar Retention processa dados muito mais rapidamente.
A ferramenta de linha de comando dotMemory agora funciona em computadores com processadores Apple Silicon. Agora você pode usar a ferramenta dotMemory para fazer profiling de aplicativos .NET 6 (modo nativo) e .NET 5 (modo Rosetta 2).
Reformulamos completamente o algoritmo por trás da árvore de dominadores (o gráfico de retenção de objetos). Mesmo se um conjunto de objetos contiver centenas de milhões de objetos, o dotMemory só demorará alguns minutos para abrir uma visualização específica.
O dotMemory agora pode obter dados amostrados de alocação de memória, baseados em eventos do ETW. A amostragem é menos precisa que a maneira tradicional (estatística) de coletar dados de alocação, mas oferece várias vantagens:
Observe que este recurso só está disponível no Windows.
Agora você pode usar a visualização Subsystems para analisar dados de alocação de memória. Um subsistema agrupa todos os métodos que pertencem a um mesmo tipo, namespace ou assembly. A visualização resultante lista os objetos criados pelos subsistemas e mostra uma árvore de chamadas mesclada para cada subsistema.
Neste lançamento, continuamos a melhorar a maneira como você analisa a alocação da memória. Duas novas guias foram adicionadas à exibição Memory Allocation:
A barra de pesquisa na parte superior das exibições do dotMemory está agora mais flexível e fácil de usar:
Agora, é possível:
Agora, é possível usar mensagens de serviço para habilitar e desabilitar a coleta de dados de alocação de memória.
Um rastreamento de pilha copiado para a área de transferência no dotMemory agora é aberto automaticamente no Rider/Visual Studio com ReSharper.
Reformulamos completamente a tela inicial do dotMemory: agora, é muito mais fácil configurar e iniciar novas sessões de definição de perfil, trabalhar com snapshots e realizar outras operações básicas.
Agora, você pode analisar dumps de aplicações .NET Core coletados nos sistemas Linux usando gcore
.
Agora, o dotMemory permite que você analise a alocação de memória em um intervalo de tempo arbitrário. Basta selecionar o intervalo na linha do tempo e a exibição Memory Allocation mostrará os objetos alocados nesse intervalo, bem como o rastreamento de pilha que os alocou.
Avaliação gratuita por 30 dias disponível