Volcados

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.

Sugerencia

Para obtener preguntas más frecuentes sobre la recopilación del volcado de memoria, el análisis y otras advertencias, vea Volcados de memoria: Preguntas más frecuentes.

  • Puede usar variables de entorno para configurar una aplicación de modo que recopile un volcado de memoria tras un bloqueo.

  • 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.

Análisis de volcados de memoria

Análisis de memoria

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.

El análisis de memoria de Visual Studio se puede usar para diagnosticar una fuga de memoria en Windows.

Consulte también

Consulte más información sobre cómo puede aprovechar los volcados de memoria para diagnosticar problemas en una aplicación de .NET.