电源框架延迟模糊处理

注意

从 Windows 10 内部版本 19042 及更高版本中开始,此检查已弃用

Power Framework 延迟模糊选项随机化线程计划,以帮助检测使用 电源管理框架的驱动程序中的并发 bug (PoFx) 。 对于不直接利用电源管理框架的驱动程序,不建议使用此选项, (PoFx) 。

注意此选项从 Windows 8 开始可用。

选择此选项后,驱动程序验证程序会在线程中的各种点插入随机延迟。 Power Framework 延迟模糊处理选项使用一种算法,该算法提供在驱动程序中查找错误的概率保证。 Power Framework 延迟模糊处理改进了传统的压力测试,其中测试程序运行数天甚至数周,希望捕获并发执行中可能出现的问题。

大多数驱动程序例程都是重入和并发的。 并发 bug 是臭名昭著的很难找到的。 Bug 可以包括死锁和争用条件,由同步问题和线程之间的错误计时引起的。 压力测试是传统的测试技术,但它可能很慢和昂贵,而且结果并不总是可重现的。 Power Framework 延迟模糊选项通过在各种电源 API 函数调用中插入随机延迟来提高运行时出现的争用条件概率。 例如,如果争用条件导致驱动程序在取消 IRP 后访问 IRP,则 Power Framework 延迟模糊选项会增大此争用条件的可能性,以便驱动程序验证程序会在测试期间检测到错误。 Power Framework 延迟模糊选项扩展驱动程序验证程序的强大功能和有用性。

激活此选项

可以使用驱动程序验证程序管理器或Verifier.exe命令行为一个或多个驱动程序激活 Power Framework 延迟模糊功能。 有关详细信息,请参阅 “选择驱动程序验证程序选项”。 必须重新启动计算机才能激活或停用 Power Framework 延迟模糊选项。

注意 Power Framework 延迟模糊选项通过在各种电源 API 函数调用中插入随机延迟来提高运行时出现的争用条件概率。 为了使这些延迟更有效,可以使用其他驱动程序验证程序选项启用此选项。 由于可以引入的延迟,你预计计算机响应速度较慢。

  • 在命令行

    在命令行中,Power Framework 延迟模糊处理由 验证程序 /flags 0x00008000 (Bit 15) 表示。 若要激活 Power Framework 延迟模糊,请使用标志值0x00008000或向标志值添加0x00008000。 例如:

    verifier /flags 0x00008000 /driver MyDriver.sys
    

    下一次启动后,该功能将处于活动状态。

  • 使用驱动程序验证程序管理器

    1. "开始"菜单驱动程序验证程序管理器。 在命令提示符窗口中键入 验证程序
    2. ) 选择代码开发人员 (创建自定义设置 ,然后单击“ 下一步”。
    3. 从完整列表中选择单个设置
    4. 选择 (检查 power Framework 延迟模糊) 。
    5. 重新启动计算机。