JBeExJBeEx

Análisis de un archivo de volcado

Análisis de un archivo de volcado

Cuando Windows sufre un pantallazo azul (BSOD), guarda un archivo de volcado de memoria con el estado del sistema en el momento del fallo. Abrirlo con WinDbg, el depurador oficial de Microsoft, es la forma más fiable de averiguar qué controlador o componente provocó el bloqueo. En esta guía verás cómo cargar el volcado, configurar los símbolos y qué comandos usar para interpretar el resultado.

Qué necesitas antes de empezar

  • WinDbg instalado: puedes obtenerlo desde la Microsoft Store o con winget install Microsoft.WinDbg. Descarga siempre la última versión desde la fuente oficial de Microsoft.
  • El archivo de volcado: normalmente con extensión .dmp (o .mdmp). Los minivolcados suelen estar en C:\Windows\Minidump y el volcado completo o de kernel en C:\Windows\MEMORY.DMP.
  • Permisos de administrador para leer esas carpetas del sistema, o una copia del archivo en otra ubicación.

No es necesario que el equipo donde analizas el volcado tenga la misma versión de Windows ni el mismo tipo de procesador que el equipo que lo generó. Además, el archivo puede estar en un recurso compartido de red o indicarse mediante una ruta UNC.

Abrir el volcado de memoria en WinDbg

1. Desde la línea de comandos

Puedes lanzar WinDbg indicando directamente el volcado con la opción -z, junto con la ruta de símbolos (-y) y la de imágenes ejecutables (-i):

windbg -y <RutaSimbolos> -i <RutaImagenes> -z <ArchivoVolcado>

La opción -v activa el modo detallado, útil para ver más información durante la carga. Tienes la lista completa en las opciones de línea de comandos de WinDbg.

2. Desde la interfaz gráfica

Si ya tienes WinDbg abierto:

  • En el WinDbg actual, ve a Archivo → Iniciar depuración → Abrir archivo de volcado y selecciona el .dmp.
  • En el WinDbg clásico, usa File → Open Crash Dump o pulsa Ctrl+D, escribe la ruta completa del archivo y pulsa Abrir.

3. Con el comando.opendump

Con el depurador ya en marcha también puedes cargar el volcado mediante .opendump, seguido del comando g (Go):

.opendump C:\Windows\Minidump\archivo.dmp
g

4. Varios volcados y archivos CAB

  • Varios volcados a la vez: añade varios modificadores -z, cada uno con su archivo, o ejecuta .opendump varias veces. Más detalles en Depuración de varios destinos.
  • Volcados comprimidos en CAB: si indicas un archivo .cab tras -z o en .opendump, WinDbg lee el volcado directamente. Ojo: si el CAB contiene varios volcados, solo lee uno, e ignora el resto de archivos que incluya (símbolos incluidos).

Configurar los símbolos

Sin los símbolos correctos, WinDbg no podrá identificar las funciones ni los controladores implicados. Lo más sencillo es usar el servidor de símbolos público de Microsoft con una caché local:

.sympath srv*C:\Symbols*https://msdl.microsoft.com/download/symbols
.reload

Como alternativa rápida, .symfix configura automáticamente el servidor de Microsoft. En volcados de kernel o minivolcados puede que también tengas que indicar la ruta de imágenes ejecutables (-i o .exepath) para que apunte a los binarios que estaban cargados en el momento del fallo.

Analizar el volcado con WinDbg

Analizar un volcado se parece mucho a depurar una sesión en vivo, salvo que el sistema está "congelado" en el instante del error. El punto de partida casi siempre es el análisis automático:

!analyze -v

Este comando muestra el código de error, sus parámetros, la pila de llamadas y, en muchos casos, el módulo sospechoso (campos como MODULE_NAME o IMAGE_NAME). Si solo quieres ver el código y los parámetros, usa .bugcheck. Para interpretar cada código, consulta la referencia de códigos de comprobación de errores de Microsoft.

Comandos útiles para volcados en modo kernel

  • lm: lista los módulos cargados. Con lmvm nombre ves la versión y fecha de un controlador concreto.
  • !kdext*.locks: muestra los bloqueos de recursos del kernel; útil en cuelgues e interbloqueos.
  • !memusage: estadísticas de uso de la memoria física.
  • !vm: resumen del uso de memoria virtual del sistema.
  • !errlog: entradas pendientes del registro de errores de E/S.
  • !process 0 0: lista resumida de todos los procesos activos.
  • !process 0 7: lo mismo, pero con todo el detalle de cada proceso y sus hilos.

Tienes la lista completa en la referencia de comandos del depurador.

Cómo interpretar el resultado

  • Si !analyze señala un controlador de terceros (tarjeta gráfica, antivirus, red…), actualízalo o reinstálalo desde la web del fabricante.
  • Si apunta a componentes del propio Windows (ntoskrnl.exe, hal.dll), la causa real suele estar en otro sitio: memoria RAM defectuosa, disco o un controlador que corrompió la memoria antes.
  • Compara varios volcados: si el módulo culpable cambia en cada fallo, sospecha del hardware.

Para técnicas más avanzadas, consulta Extracción de información de un archivo de volcado de memoria y nuestra guía sobre los archivos de volcado.

Preguntas frecuentes

¿Dónde guarda Windows los archivos de volcado?

Los minivolcados van a C:\Windows\Minidump y el volcado de kernel o completo a C:\Windows\MEMORY.DMP, salvo que hayas cambiado la configuración en las opciones de inicio y recuperación.

¿Por qué WinDbg muestra errores de símbolos?

Porque la ruta de símbolos no está configurada o no hay conexión con el servidor de Microsoft. Ejecuta .symfix y después .reload.

¿Puedo analizar un volcado de otro PC?

Sí. Basta con copiar el archivo .dmp; no hace falta que coincidan la versión de Windows ni el procesador.