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

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.