Un volcado de memoria es un archivo que contiene una instantánea del proceso en el momento en el que se crea el volcado y puede ser útil para examinar el estado de una aplicación. Los volcados de memoria se pueden usar para depurar aplicaciones de .NET cuando es difícil asociarle un depurador, como en los entornos de producción o de CI. El uso de volcados de memoria permite capturar el estado del proceso con problemas y examinarlo sin tener que detener la aplicación.
Recopilación de volcados de memoria
Los volcados de memoria se pueden recopilar de varias maneras, en función de la plataforma en la que se ejecute la aplicación.
Nota
Los volcados de memoria pueden incluir información confidencial, ya que pueden contener la memoria completa del proceso en ejecución. Para controlarlos, siga las restricciones e instrucciones de seguridad.
Es posible que quiera recopilar un volcado de memoria cuando la aplicación todavía no se ha bloqueado. Por ejemplo, si quiere examinar el estado de una aplicación que parece estar en un interbloqueo, la configuración de las variables de entorno para recopilar volcados de memoria al producirse un bloqueo no será útil porque la aplicación todavía está en ejecución.
dotnet-dump es una sencilla herramienta multiplataforma de la línea de comandos para recopilar un volcado. Otras herramientas del depurador, como Visual Studio o windbg, también tienen características de recopilación de volcados de memoria.
Si ejecuta la aplicación en producción o de forma distribuida (varios servicios, réplicas), dotnet-monitor proporciona compatibilidad con muchos escenarios comunes e investigaciones de diagnóstico ad hoc, incluida la recopilación de volcados de memoria y la salida. Permite recopilar volcados de memoria de forma remota o mediante condiciones de desencadenamiento.
Puede analizar la memoria de la aplicación si continúa creciendo y no está seguro de cuál puede ser el motivo. En el tutorial Depuración de una fuga de memoria en .NET Core, se explica cómo depurar una fuga de memoria usando las herramientas de la CLI de dotnet con los comandos dumpheap y gcroot de dotnet-sos.
Consulte más información sobre cómo puede aprovechar los volcados de memoria para diagnosticar problemas en una aplicación de .NET.
En el tutorial Depuración de volcados de Linux se le guía a través de la depuración de un volcado de memoria recopilado en Linux.
En el tutorial Depuración de interbloqueo se le guía a través de la depuración de un interbloqueo en la aplicación de .NET mediante volcados de memoria.
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Utilice Web App Down, Crash Monitoring y Ask Genie para solucionar problemas. Use estas herramientas para supervisar la disponibilidad de aplicaciones y plataformas, identificar excepciones no controladas, capturar volcados de memoria y llamadas y buscar áreas de investigación y diagnóstico.