Compartir a través de


Diferir retraso de Power Framework

Nota

Esta comprobación está en desuso a partir de Windows 10 compilación 19042 y posteriores

La opción retraso de Power Framework programa programaciones de subprocesos aleatorios para ayudar a detectar errores de simultaneidad en los controladores que usan el marco de administración de energía (PoFx). Esta opción no se recomienda para los controladores que no utilicen directamente el marco de administración de energía (PoFx).

Nota Esta opción está disponible a partir de Windows 8.

Cuando se selecciona la opción, el Comprobador de controladores inserta retrasos aleatorios en varios puntos de los subprocesos. La opción retraso de Power Framework Fuzzing usa un algoritmo que proporciona garantías probabilísticas para encontrar errores en los controladores. El retraso de Power Framework mejora las pruebas de esfuerzo tradicionales, donde el programa de prueba se ejecuta durante días o incluso semanas con esperanzas de detectar problemas en que pueden producirse en la ejecución simultánea.

La mayoría de las rutinas de controlador son reentrantes y simultáneas. Los errores de simultaneidad son notoriamente difíciles de encontrar. Los errores pueden incluir interbloqueos y condiciones de carrera, causados por problemas de sincronización y tiempos incorrectos entre subprocesos. Las pruebas de esfuerzo son la técnica tradicional de pruebas, pero pueden ser lentas y costosas, y los resultados no siempre son reproducibles. La opción retraso de retraso de Power Framework aumenta la probabilidad de que las condiciones de carrera aparezcan en tiempo de ejecución mediante la inserción de retrasos aleatorios en varias llamadas de función de power API. Por ejemplo, si una condición de carrera da como resultado un controlador que accede a IRP después de que se haya cancelado, la opción Retraso de Power Framework Fuzzing aumenta las posibilidades de esta condición de carrera de tal manera que el Comprobador de controladores detectará el error durante las pruebas. La opción Desenlazamiento de retraso de Power Framework amplía la potencia y la utilidad del Comprobador de controladores.

Activación de esta opción

Puede activar la característica De interrupción diferida de Power Framework 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 retraso de Power Framework Fuzzing.

Nota La opción retraso de retraso de Power Framework aumenta la probabilidad de que las condiciones de carrera aparezcan en tiempo de ejecución mediante la inserción de retrasos aleatorios en varias llamadas de función de power API. Para que estos retrasos sean más eficaces, puede habilitar esta opción con otras opciones del Comprobador de controladores. Debido a los retrasos que se pueden introducir, puede esperar que el equipo tenga una respuesta más lenta.

  • En la línea de comandos

    En la línea de comandos, el Fuzzing de retraso de Power Framework se representa mediante el comprobador /flags 0x00008000 (bit 15). Para activar el retraso de Power Framework, use un valor de marca de 0x00008000 o agregue 0x00008000 al valor de marca. Por ejemplo:

    verifier /flags 0x00008000 /driver MyDriver.sys
    

    La característica estará activa después del siguiente arranque.

  • Uso del Administrador del comprobador de controladores

    1. Inicie el Administrador del comprobador de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
    2. Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
    3. Seleccione Seleccionar configuración individual en una lista completa.
    4. Seleccione (comprobar) Retraso de Power Framework aproximadamente.
    5. Reinicie el equipo.