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
Vaya a Depuración de volcados de memoria de Linux para obtener información sobre el análisis de volcados recopilados en Linux.
Vaya a Depuración de volcados de memoria de Windows para obtener información sobre el análisis de volcados recopilados en Windows.
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.
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.