Compartilhar via


Despejos

Um dump é um arquivo que contém um instantâneo do processo no momento em que foi criado, sendo útil para examinar o estado do aplicativo. Despejos poderão ser usados para depurar um aplicativo .NET quando for difícil anexar um depurador a ele, como em ambientes de produção ou CI. O uso de dumps permite capturar o estado do processo que está causando problemas e examiná-lo sem a necessidade de parar o aplicativo.

Coletar despejos

Os despejos podem ser coletados de várias maneiras, dependendo da plataforma em que seu aplicativo está sendo executado.

Observação

Não há suporte para a coleta de despejo em plataformas móveis (Android e iOS). O runtime Mono usado nessas plataformas não dá suporte à geração de despejo de memória.

Observação

Os dumps de memória podem conter informações confidenciais porque podem incluir a memória completa do processo em execução. Trate-os com quaisquer restrições de segurança e diretrizes em mente.

  • Você pode usar variáveis de ambiente para configurar seu aplicativo para coletar um dump em caso de falha.

  • Talvez você queira coletar um despejo quando o aplicativo ainda não tiver falhado. Por exemplo, se você quiser examinar o estado de um aplicativo que parece estar em um deadlock, configurar as variáveis de ambiente para coletar "dumps" em caso de falha não será útil porque o aplicativo ainda está em execução.

  • dotnet-dump é uma ferramenta simples de linha de comando multiplataforma para coletar um despejo. Várias outras ferramentas do depurador, como o Visual Studio ou o windbg, também têm recursos de coleta de despejo.

  • Se você estiver executando seu aplicativo em produção ou estiver executando-o de maneira distribuída (vários serviços, réplicas), o dotnet-monitor fornecerá suporte para muitos cenários comuns e investigações de diagnóstico ad hoc, incluindo a saída e coleta de despejo. Isso permite que os despejos sejam coletados remotamente ou com condições de gatilho.

Dica

Para solução de problemas e perguntas frequentes sobre a coleta de despejo, consulte Despejos: Perguntas frequentes.

Analisar despejos

Análise da Memória

Você pode executar a análise de memória em seu aplicativo se a memória do aplicativo continuar a crescer, mas você não tem certeza por que esse é o caso. O tutorial de depuração de vazamento de memória mostra como depurar um vazamento de memória usando as ferramentas de linha de comando do dotnet com os comandos dotnet-sos dumpheap e gcroot.

A Análise de Memória do Visual Studio pode ser usada para diagnosticar um vazamento de memória no Windows.

Consulte também

Saiba mais sobre como aproveitar despejos para ajudar a diagnosticar problemas em seu aplicativo .NET.