Simulación sistemática de recursos bajos
La opción de simulación sistemática de recursos bajos inserta errores de recursos en los controladores del modo kernel. Esta opción penetra las rutas de acceso de control de errores del controlador. La prueba de estas rutas ha sido históricamente muy difícil. La opción de simulación sistemática de recursos bajos inserta errores de recursos de forma predecible, lo que hace que los problemas que encuentre se reproduzcan. Dado que las rutas de acceso de error son fáciles de reproducir, también facilita la comprobación de las correcciones de estos problemas.
Para ayudarle a determinar la causa principal del error, se proporciona una extensión del depurador que puede indicar exactamente qué errores se han insertado y en qué orden.
Precaución Esta opción no está pensada para usarse cuando se comprueban todos los controladores (o una gran colección de) en un equipo. Esta opción solo se debe usar cuando se realizan pruebas dirigidas de controladores individuales o sus controladores de filtro asociados. El uso de esta opción en un gran número de controladores al mismo tiempo podría provocar resultados imprevisibles y podría forzar bloqueos en componentes no relacionados con los controladores que está probando.
Nota Para Windows 8.1, la característica inserción de errores basada en pila, que estaba disponible en WDK 8, se ha integrado en el Comprobador de controladores. En equipos que ejecutan Windows 8.1, use la opción simulación sistemática de recursos bajos.
Cuando la opción simulación sistemática de recursos bajos está habilitada en un controlador específico, intercepta algunas llamadas de ese controlador al kernel y Ndis.sys. La simulación sistemática de recursos bajos examina la pila de llamadas, en concreto, en la parte de la pila de llamadas que procede del controlador en el que está habilitado. Si es la primera vez que ha visto esa pila, se producirá un error en la llamada según la semántica de esa llamada. De lo contrario, si ha visto esa llamada antes, la pasará a través de untouched. La simulación sistemática de recursos bajos contiene lógica para tratar con el hecho de que un controlador se puede cargar y descargar varias veces. Reconocerá que una pila de llamadas es la misma incluso si el controlador se vuelve a cargar en una ubicación de memoria diferente.
Activación de esta opción
Puede activar la característica de simulación de recursos bajos sistemáticos para uno o varios controladores mediante el Administrador de comprobadores de controladores o la línea de comandos Verifier.exe. Para obtener más información, consulte Seleccionar opciones del comprobador de controladores. Debe reiniciar el equipo para activar o desactivar la opción simulación de recursos bajos sistemáticos.
En la línea de comandos
Windows 11
En la línea de comandos, la simulación sistemática de recursos bajos se representa mediante el comprobador /rc 19 36 o el comprobador /dif 19, ambos que incluyen el modo DIF necesario.
La característica estará activa después del siguiente arranque o inmediatamente si se agrega /now a la cadena de comandos.
Windows 10 y versiones posteriores
En la línea de comandos, la simulación sistemática de recursos bajos se representa mediante el comprobador /flags 0x040000 (bit 18). Para la simulación sistemática de recursos bajos, use un valor de marca de 0x040000 o agregue 0x040000 al valor de marca. Por ejemplo:
verifier /flags 0x040000 /driver MyDriver.sys
La característica estará activa después del siguiente arranque.
General
Al habilitar la opción simulación sistemática de recursos bajos, puede usar la opción de línea de comandos /faultssystematic OPTION para controlar aún más la simulación sistemática de recursos bajos.
OPTION Descripción enableboottime
Habilita las inyecciones de errores en los reinicios del equipo.
disableboottime
Deshabilita las inyecciones de errores en los reinicios del equipo (esta es la configuración predeterminada).
recordboottime
Habilita las inyecciones de errores en el modo what if en los reinicios del equipo.
resetboottime
Deshabilita las inyecciones de errores en los reinicios del equipo y borra la lista de exclusión de la pila.
enableruntime
Habilita dinámicamente las inyecciones de errores.
disableruntime
Deshabilita dinámicamente las inyecciones de errores.
recordruntime
Habilita dinámicamente las inyecciones de errores en el modo what if .
resetruntime
Deshabilita dinámicamente las inyecciones de errores y borra la lista de pila con errores anterior.
querystatistics
Muestra las estadísticas de inserción de errores actuales.
incrementcounter
Incrementa el contador de paso de prueba usado para identificar cuándo se insertó un error.
getstackid COUNTER
Recupera el identificador de pila insertado indicado.
excludestack STACKID
Excluye la pila de la inyección de errores.
Uso del Administrador de comprobadores de controladores
- Inicie el Administrador del comprobador de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
- Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
- Seleccione Seleccionar configuración individual en una lista completa.
- Seleccione (comprobar) Simulación sistemática de recursos bajos.
- Reinicie el equipo.
Depuración de comprobaciones de errores causadas por la simulación sistemática de recursos bajos
La mayoría de los problemas encontrados con la simulación sistemática de recursos bajos dan lugar a comprobaciones de errores. Para ayudar a determinar la causa de estos errores de código, las herramientas de depuración para Windows proporcionan la extensión del depurador (kdexts.dll) y los símbolos necesarios.
Para ejecutar la extensión del depurador
En el símbolo del sistema del depurador, escriba el siguiente comando:
!verifier 0x800
Esto volcará la información del depurador en la que se muestran las pilas de llamadas de los errores más recientes insertados.