Compartir a través de


Prueba de compatibilidad con Crashdump (LOGO)

Esta prueba comprueba que el controlador de minipuerto de almacenamiento en Windows admite la creación de un archivo de volcado de memoria después de que se produzca un error de detención del sistema.

Detalles de las pruebas

   
Especificaciones
  • System.Fundamentals.StorageAndBoot.BootPerformance
  • Device.Storage.Controller.Boot.BasicFunction
  • System.Server.Base.ServerRequiredComponents
Plataformas
  • Windows 10, ediciones de cliente (x86)
  • Windows 10, ediciones de cliente (x64)
  • Windows Server 2016 (x64)
  • Windows 10, ediciones de cliente (Arm64)
Versiones admitidas
  • Windows 10
  • Windows 10, versión 1511
  • Windows 10, versión 1607
  • Windows 10, versión 1703
  • Windows 10, versión 1709
  • Windows 10, versión 1803
  • Windows 10, versión 1809
  • Windows 10, versión 1903
  • Siguiente actualización a Windows 10
Tiempo de ejecución esperado (en minutos) 45
Categoría Escenario
Tiempo de espera (en minutos) 2700
Requiere reinicio false
Requiere una configuración especial true
Tipo automatic

 

Documentación adicional

Las pruebas de esta área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:

Ejecución de la prueba

Antes de ejecutar la prueba, complete la configuración de prueba que se describe en los requisitos de prueba para el tipo de controlador de almacenamiento que está probando. Para obtener más información, consulte Información general sobre el adaptador de almacenamiento o las pruebas de controlador.

Esta prueba requiere software y hardware adicionales:

  • Dispositivo que se va a probar

  • Disco duro con un mínimo de 20 GB disponibles en la partición C:.

Antes de ejecutar la prueba, también debe completar los siguientes requisitos previos:

  • Si el sistema de prueba tiene una conexión a Internet, no es necesario realizar ninguna acción.

    Si el sistema de prueba no tiene conexión a Internet, cree una carpeta denominada C:\Symbols y descargue e instale símbolos del sistema operativo Windows. Para ello, realice los pasos siguientes:

    Nota

       Se necesitan símbolos para analizar el archivo de volcado de memoria. El error de instalación de símbolos es el problema de configuración de prueba más común que hace que se produzca un error en esta prueba. La versión de los símbolos debe coincidir con la versión del sistema operativo que está instalada en el equipo de prueba. Por lo tanto, debe descargarse externamente al kit.

     

    1. En un equipo que tenga conexión a Internet, descargue los paquetes símbolos de Windows. Para obtener más información, vea Descargar paquetes de símbolos de Windows.

    2. Copie los archivos de símbolos en la máquina de prueba en la carpeta C:\Symbols . Dado que los símbolos pueden ser grandes, solo tiene que copiar ntkrnlmp.pdb (para x64 o Arm) o ntkrpamp.pdb (para x86).

Solución de problemas

Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.

Para obtener información de solución de problemas, consulte Solución de problemas de Device.Storage Testing.

  • El mensaje de error "No se pudieron cargar los símbolos correctos"

    Tras el reinicio, la prueba examina el archivo de volcado de memoria para comprobar si es correcto. La prueba hace esto, igual que lo haría un desarrollador, mediante el kd del depurador de kernel (consulte Descargar e instalar herramientas de depuración para Windows). Para analizar un archivo de volcado, el depurador necesita acceso a los símbolos (consulte Archivos de símbolos). Se trata de un diccionario para el volcado de memoria. Permiten al depurador analizar el contenido de la memoria (o un archivo crashdump) en módulos individuales (ejecutables, bibliotecas, controladores, etc.), funciones dentro de esos módulos y estructuras de datos. Como regla general, si no puede examinar el archivo de volcado mediante el depurador de kernel, la prueba no puede superarse.

    Para que la prueba funcione correctamente, debe proporcionar al depurador símbolos. Cuando no tenga símbolos adecuados, registrará advertencias durante los errores de registro durante la primera fase de análisis de las pruebas. El mecanismo actual para hacerlo es descargar paquetes de símbolos públicos (consulte Descargar paquetes de símbolos de Windows) e instalarlos en el equipo de prueba antes de ejecutar la prueba. Cuando los símbolos no están instalados o no coinciden con el sistema operativo sometido a prueba, el siguiente mensaje puede aparecer en el registro de pruebas:

    • (x) No se pudieron cargar los símbolos correctos.

    • (i) Consulte la documentación de WDK sobre cómo instalar símbolos del sistema operativo.

    • (i) Los símbolos también podrían estar obsoletos, actualice los símbolos mediante el servidor de símbolos de Microsoft.

    En realidad, este mensaje no hace que se produzca un error en la prueba porque, en algunos casos, el volcado de memoria todavía se puede analizar con símbolos que coincidan parcialmente. Si la prueba continúa y se produce un error en más casos de prueba con mensajes como Error al recuperar direcciones de ... o No se puede obtener..., significa que el depurador no puede analizar el volcado debido a símbolos que faltan. Una manera de solucionar un símbolo es complementar el símbolo instalado localmente empaquetado con símbolos almacenados en caché desde un servidor de símbolos de Internet. Siga estos pasos para almacenar en caché los símbolos localmente:

    1. Asegúrese de que ya ha creado una marca de bloqueo. La manera más fácil de hacerlo es ejecutar la prueba una vez y dejar que se produzca un error.

    2. Asegúrese de que tiene instaladas las herramientas de depuración. Una vez más, la manera más fácil de hacerlo es ejecutar la prueba una vez. Instalará las herramientas en C:\Debuggers.

    3. Abra un símbolo del sistema con privilegios elevados.

    4. Escriba el siguiente comando. c:\Debuggers\kd -z c:\Windows\MEMORY.DMP -y SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols

    5. Esto carga el volcado en el depurador de kernel mediante el almacén de símbolos remoto en Microsoft y el directorio local C:\Symbols como almacén de bajada para almacenar en caché los símbolos.

    6. Asegúrese de que se pueden encontrar símbolos para archivos del sistema operativo como NTOSKRNL y NTDLL. Estos archivos son necesarios para analizar el volcado de memoria. Es correcto si los errores aparecen cargando símbolos para otros módulos, como controladores de terceros.

    7. Ahora debería tener un símbolo del sistema 0: kd>. En este símbolo del sistema, escriba el comando .reload /f. Este comando obliga al depurador a cargar y almacenar en caché todos los símbolos de los módulos cargados en el volcado de memoria.

    8. Para salir del depurador, presione Ctrl-B y presione Entrar.

  • El mensaje de error de los registros de prueba "El tamaño del archivo de paginación es demasiado pequeño para fines de volcado completo".

    En el caso de un bloqueo, no hay certeza de qué partes del sistema operativo seguirán siendo funcionales. Los controladores del sistema de archivos o de red podrían haber causado el bloqueo; por ejemplo, impedir el acceso a estructuras del sistema de archivos para crear un archivo de volcado de memoria o una red para almacenar el archivo de forma remota. El sistema operativo lo controla mediante un archivo que ya conoce (el archivo pagefile) y escribe directamente en las extensiones de bloque lógicos de ese archivo en el disco. El proceso de volcado escribe el contenido de la memoria física en el archivo de página del disco del sistema (normalmente c:\pagefile.sys). El archivo de página debe ser lo suficientemente grande como para contener el volcado de memoria. El volcado de memoria más grande es un volcado completo, que requiere el tamaño de la memoria física (por ejemplo, 4096) más un megabyte adicional para contener la información de encabezado. La prueba requiere que el usuario configure el archivo de página en un tamaño adecuado antes de la ejecución. Si el tamaño del archivo de página no es suficiente, la prueba registrará el siguiente error durante la fase de inicialización:

    • (i) Comprobar el tamaño del archivo de paginación.

    • (x) El tamaño del archivo de paginación es demasiado pequeño para fines de volcado completo.

    • (i) Tamaño del archivo de paginación: 330989568

    • (i) Tamaño de memoria física: 1073094656

    • (i) Configure el tamaño mínimo del archivo de paginación en tamaño de RAM físico + 1 MB.

  • Veo el error de detención del sistema (pantalla azul), pero el código de comprobación de errores no es E2

    Después de la validación básica de la configuración, la prueba instalará un controlador que se usa para bloquear el sistema y reiniciar el sistema. Después del reinicio, la prueba cambia la configuración del control de bloqueo (para el volcado de memoria completo), elimina los archivos de volcado antiguos y bloquea el sistema. En el momento del bloqueo, el sistema mostrará una pantalla de comprobación de errores (pantalla azul) con detalles de la naturaleza del bloqueo. El tipo de comprobación de errores debe ser MANUALLY_INITIATED_CRASH (e2). Si algo más aparece aquí, significa que se produjo una segunda comprobación de errores durante el proceso de escritura del archivo de volcado. Esto debe investigarse conectando un depurador de kernel al cliente de prueba y depurando el controlador del adaptador de almacenamiento.

  • El mensaje de error "Otro proceso usa el archivo de volcado de memoria. HRESULT: 0x80070020"

    Una vez escrito el archivo de volcado de memoria, la máquina de prueba debe reiniciarse automáticamente. Tras el arranque después de un bloqueo, el sistema operativo detectará la presencia de información de volcado en el archivo de página e iniciará el proceso de escritura de un volcado de memoria. Este proceso se produce de forma asincrónica mientras la máquina arranca e incluso después de que el usuario haya iniciado sesión. Durante este proceso, puede ver el progreso comprobando el tamaño del archivo de volcado de memoria (C:\windows\memory.dmp) o viendo el proceso en el administrador de tareas (werfault.exe). La prueba se ejecutará a menudo al mismo tiempo que este proceso, intentando acceder al mismo archivo de volcado. Si esto ocurre, los mensajes siguientes aparecerán en el registro:

    • (i) Conexión a DumpFile: C:\Windows\MEMORY. DMP

    • (i) Otro proceso está usando el archivo de volcado. HRESULT: 0x80070020

    • (i) Normalmente memory.dmp todavía se está escribiendo debido a una RAM grande, reintentar después de 5 minutos.

    A continuación, la prueba debe reintentar el acceso al archivo. Si el código del mensaje de error es diferente o si cambia (por ejemplo, 0x80070002 : ERROR_FILE_NOT_FOUND), significa que el archivo no se pudo escribir en el disco. El primer lugar para comprobar si hay información valiosa de depuración es el registro de eventos del sistema. Para ver el registro de eventos, haga clic en Inicio, haga clic en Ejecutary, a continuación, escriba Compmgmt.msc. En la ventana administración de equipos, seleccione Administración de equipos\Herramientas del sistema\Visor de eventos\Sistema. Examine la lista de eventos de un evento que tenga el bugCheck de origen. La causa más común de que falta un archivo de volcado de memoria no sea suficiente en el disco. La clave del Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\MachineCrash contiene información sobre el último bloqueo (antes de un reinicio), incluido el archivo de volcado parcial si se creó uno. Esto puede ser útil al intentar depurar otros problemas de volcado que faltan.

Más información

Crashdump es el mecanismo en el que el sistema operativo llama al controlador del adaptador de almacenamiento para escribir el contenido de la memoria en un archivo de volcado de memoria después de un error de detención del sistema. Debido a la naturaleza de un error de detención del sistema, el sistema operativo no puede realizar ninguna suposición sobre la estabilidad del sistema. Por lo tanto, hay muy pocos servicios del sistema disponibles para los controladores de almacenamiento. La prueba de compatibilidad con Crashdump comprueba que el controlador del adaptador de almacenamiento todavía puede funcionar con estos entornos restringidos y realizar la E/S para escribir correctamente en el volcado.

El sistema operativo Windows permite generar tres tipos diferentes de archivos de volcado de memoria:

  • Completo

  • Kernel

  • Mini

La prueba probará los tipos de archivo Kernel y Mini dump. Para obtener más información sobre estos tipos de archivos de volcado de memoria, consulte Archivos de volcado en modo kernel.

La prueba completará la siguiente secuencia de operaciones:

  1. Instale herramientas de depuración para Windows en el directorio %SystemDrive%\Debuggers e inicialice el sistema.

  2. Instale el controlador de prueba para simular el bloqueo.

  3. Establezca el tamaño del archivo de página.

  4. Simulación de errores de detención del sistema (pantalla azul) con código de comprobación de errores 0x000000E2.

  5. Reinicie el sistema y reinicie automáticamente la prueba.

  6. Examine el bloqueo anterior mediante el análisis del archivo de volcado de memoria a través del depurador de kernel y compruebe que el volcado de memoria se ha escrito correctamente.

  7. Repita los pasos 4 a 6 para cada tipo de archivo de volcado.

Sintaxis de comandos

Comando Descripción

Crashdumptest.exe -c

Borre los errores anteriores.

crashdumptest.exe -dtm -y [SymbolsDirectory] -ypass

Inicialice la prueba.

crashdumptest.exe -autorun -y [SymbolsDirectory] -dtm"

Ejecuta la prueba.

 

Lista de archivos

Opción de comando Descripción

Crashdumptest.exe

[TestBinRoot]\nttest\driverstest\storage\wdk\

BugCheck.sys

[TestBinRoot]\nttest\driverstest\storage\wdk\

 

Parámetros

Nombre de parámetro Descripción de los parámetros
DebuggerDirectory Directorio en el que se van a instalar los depuradores.
SímbolosDirectorio Directorio donde ya están instalados los símbolos.
LLU_LclAdminUsr Cuenta de usuario para ejecutar la prueba.
LLU_NetAccessOnly Cuenta de usuario para acceder al recurso compartido de archivos de prueba.
PagefileSize Tamaño de archivo de página en MB (admite el formato mem+N)