Recopilación de volcados de memoria tras un bloqueo
La configuración de una aplicación para que recopile un volcado de memoria cuando se produce un bloqueo se lleva a cabo estableciendo variables de entorno específicas. Esto resulta útil si quiere comprender por qué se ha producido un bloqueo. Por ejemplo, la captura de un volcado de memoria cuando se inicia una excepción le ayuda a identificar un problema mediante el examen del estado de la aplicación en el momento del bloqueo.
En la tabla siguiente se muestran las variables de entorno que se pueden configurar para la recopilación de volcados de memoria en caso de bloqueo.
Variable de entorno | Descripción | Valor predeterminado |
---|---|---|
COMPlus_DbgEnableMiniDump o DOTNET_DbgEnableMiniDump |
Si se establece en 1, se habilita la generación de volcado de memoria principal. | 0 |
COMPlus_DbgMiniDumpType o DOTNET_DbgMiniDumpType |
Tipo de volcado de memoria que se va a recopilar. Para obtener más información, consulte Tipos de minivolcados. | 2 (Heap ) |
COMPlus_DbgMiniDumpName o DOTNET_DbgMiniDumpName |
Ruta de acceso a un archivo en el que se escribirá el volcado de memoria. Asegúrese de que el usuario con el que se ejecuta el proceso dotnet tiene permisos de escritura en el directorio especificado. | /tmp/coredump.<pid> |
COMPlus_CreateDumpDiagnostics o DOTNET_CreateDumpDiagnostics |
Si se establece en 1, se habilita el registro de diagnóstico del proceso de volcado de memoria. | 0 |
COMPlus_EnableCrashReport o DOTNET_EnableCrashReport |
Requiere .NET 6 o posterior; no se admite en Windows. Si se establece en 1, el entorno de ejecución genera un informe de bloqueo con formato JSON que incluye información sobre los subprocesos y los marcos de pila de la aplicación que se bloquea. El nombre del informe de bloqueo es la ruta de acceso del volcado de memoria o el nombre con .crashreport.json anexado. |
|
COMPlus_CreateDumpVerboseDiagnostics o DOTNET_CreateDumpVerboseDiagnostics |
Requiere .NET 7 o posterior. Si se establece en 1, habilita el registro de diagnóstico detallado del proceso de volcado de memoria. |
0 |
COMPlus_CreateDumpLogToFile o DOTNET_CreateDumpLogToFile |
Requiere .NET 7 o posterior. Ruta de acceso del archivo en el que se deben escribir los mensajes de diagnóstico. |
Si no se establece, los mensajes de diagnóstico se escriben en la consola de la aplicación de bloqueo. |
Nota
.NET 7 estandariza en el prefijo DOTNET_
en lugar de COMPlus_
para estas variables de entorno. Sin embargo, el prefijo COMPlus_
seguirá funcionando. Si usa una versión anterior del runtime de .NET, debe seguir usando el prefijo COMPlus_
para las variables de entorno.
Plantillas de ruta de acceso de archivo
A partir de .NET 5, DOTNET_DbgMiniDumpName
también puede incluir especificadores de plantilla de formato que se rellenan dinámicamente:
Especificador | Value |
---|---|
%% | Un solo carácter % |
%p | PID del proceso de volcado de memoria |
%e | Nombre de archivo ejecutable del proceso |
%h | Nombre de host que devuelve gethostname() |
%t | Tiempo de volcado de memoria, expresado como segundos desde la época: 1970-01-01 00:00:00 +0000 (UTC) |
Tipos de minivolcados
En la tabla siguiente se muestran todos los valores que se pueden usar para DOTNET_DbgMiniDumpType
. Por ejemplo, si DOTNET_DbgMiniDumpType
se establece en 1, significa que el volcado de tipo Mini
se recopilará al producirse un bloqueo.
Value | Nombre | Descripción |
---|---|---|
1 | Mini |
Un volcado de memoria pequeño que contiene listas de módulos, listas de subprocesos, información de excepción y todas las pilas. |
2 | Heap |
Un volcado de memoria grande y relativamente completo que contiene listas de módulos, listas de subprocesos, todas las pilas, información de excepción, información de control y toda la memoria excepto las imágenes asignadas. |
3 | Triage |
Igual que Mini , pero quita información personal del usuario, como rutas de acceso y contraseñas. |
4 | Full |
El volcado de memoria más grande que contiene toda la memoria, incluidas las imágenes de los módulos. |
Solo los modelos de aplicación AOT nativos y de archivo único admiten volcados completos.