Recursos do dotMemory

O dotMemory é um profiler de memória .NET que pode ser inicializado diretamente do Visual Studio, usado como plug-in no JetBrains Rider ou usado como uma ferramenta independente.

dotMemory Home view

Suporte para vários aplicativos .NET

O dotMemory permite fazer profiling de aplicativos que rodam em qualquer versão compatível do .NET Framework, .NET Core, .NET, aplicativos Web ASP.NET, IIS, IIS Express, serviços do Windows, aplicativos da Plataforma Universal do Windows e muito mais. No macOS e no Linux, o dotMemory pode ser usado somente como parte do JetBrains Rider ou como um profiler de linha de comando.

Support for process dumps

Suporte para despejos brutos de memória

O dotMemory permite importar despejos brutos de memória do Windows obtidos usando o Gerenciador de tarefas ou o Process Explorer e analisá-los como snapshots regulares da memória. Ao fazer isso, você pode tirar proveito das inspeções automáticas, diagramas de retenção e outros recursos sofisticados do dotMemory.

Diagrama de brechas

Diagrama de brechas

A compreensão de como a memória é retida no seu aplicativo é essencial para otimizá-la com sucesso. Nesta visualização, a hierarquia de dominadores (objetos que retêm outros objetos exclusivamente na memória) é mostrada em um gráfico de brechas.

Uma rápida olhada no gráfico permite descobrir quais objetos são cruciais para o seu aplicativo e avaliar as maiores estruturas: quanto mais memória um dominador retém, maior o ângulo central.

Para obter o caminho de retenção do dominador específico, clique no arco correspondente. Clique duas vezes em um dominador para ampliar o gráfico, permitindo ver os objetos retidos por esse dominador com mais detalhes.

Run dotMemory from Visual Studio

Integração com o Visual Studio e o Rider

O dotMemory é integrado ao JetBrains Rider, permitindo que você faça rastreamentos de alocação de memória em tempo real, análises de alocação para intervalos de tempo específicos e muito mais. Você também pode iniciar uma sessão de profiling de memória a partir do Visual Studio sempre que necessário.

Mais tarde, você poderá navegar de um tipo em um objeto do dotMemory definido até a declaração do tipo no Visual Studio.

Get snapshots automatically

Snapshots automáticos

Às vezes, você pode estar interessado em tirar snapshots apenas quando uma determinada condição é verdadeira. É por isso que o dotMemory permite automatizar o processo de obtenção de snapshots. Isso é especialmente útil quando o consumo de memória do seu aplicativo aumenta drasticamente ou quando a captura manual de um snapshot é um processo complicado. Basta definir uma condição específica e coletar snapshots automaticamente depois que essa condição for atendida.

Timeline view

Visualização da linha do tempo com coleta de dados em tempo real

Monitore a memória consumida pelo seu aplicativo, obtenha snapshots e solte-os para comparar com um único clique.

Várias visualizações de dados

Várias visualizações de dados

Examine objetos na pilha de várias visualizações. Quer saber como os objetos se relacionam? Quais objetos eles referenciam e através de quais campos? Deseja saber quais chamadas criaram esses objetos? Sem problemas! O dotMemory tem uma visualização para tudo.

Comparando snapshots de memória

Comparando snapshots de memória

Comparar dois snapshots é a principal maneira de encontrar objetos que estão causando um vazamento de memória. Use a visualização de comparação para descobrir quantos objetos foram criados entre os snapshots e quantos objetos foram coletados.

Interface de usuário fácil e abrangente

Interface de usuário fácil e abrangente

Embora a criação de perfil de memória tenha a reputação de ser apenas para profissionais, a interface de usuário exclusiva do dotMemory reduz drasticamente essa barreira de entrada e torna o processo bastante simples. Você simplesmente passa de cima para baixo, de um conjunto de objetos para instâncias específicas, até identificar a causa real dos problemas de memória.

Analisando o tráfego de memória

Analisando o tráfego de memória

Alocações e coletas de lixo excessivas podem implicar uma sobrecarga significativa no gerenciamento da memória. Use a visualização de tráfego para entender quais objetos são criados/coletados mais intensamente no seu aplicativo e quais funções estão causando esse tráfego de memória.

Poderosas inspeções automáticas

Poderosas inspeções automáticas

O dotMemory verifica automaticamente seu snapshot em busca de tipos comuns de problemas de memória, como duplicatas de strings, matrizes esparsas, manipuladores de eventos com vazamentos ou associações WPF. Essas inspeções podem ser um excelente ponto de partida para analisar um snapshot, caso você não saiba por onde começar.

Profiler de linha de comando

Profiler de linha de comando

O dotMemory acompanha o peofiler da linha de comando dotMemory.exe. Use essa ferramenta para automatizar a criação de perfis: faça parte da criação contínua de perfis ou simplesmente acelere suas rotinas de criação de perfis (por exemplo, se você precisa criar um perfil regular do mesmo aplicativo e não deseja iniciar a interface do usuário do dotMemory todas as vezes).

Baixar o dotMemory

Avaliação gratuita por 30 dias disponível