Ler em inglês

Compartilhar via


Despejos

Um despejo é um arquivo que contém um instantâneo do processo no momento em que ele foi criado e pode ser ú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 despejos permite capturar o estado do processo problemático e examinar sem precisar interromper 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 despejos podem conter informações confidenciais porque podem conter a memória completa do processo em execução. Ao gerenciá-los, tenha em mente as restrições de segurança e diretrizes aplicáveis.

Dica

Para perguntas frequentes sobre coleta de despejo, análise e outras advertências, consulte Despejos: Perguntas Frequentes.

  • Você pode usar variáveis de ambiente para configurar seu aplicativo a fim de coletar um despejo 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 deadlock, configurar as variáveis de ambiente para coletar despejos em caso de falha não ajudará, pois o aplicativo ainda estará 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.

Analisar despejos

Análise da Memória

Você poderá executar a análise de memória em seu aplicativo se a memória do aplicativo continuar crescendo, mas você não souber por que isso está acontecendo. O tutorial de vazamento de memória de depuração mostra como depurar uma perda de memória usando as ferramentas da CLI do dotnet com os comandos dotnet-sos dumpheap e gcroot.

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

Confira também

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