电源框架延迟模糊处理

注意

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

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

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

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

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

激活此选项

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

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

  • 在命令行

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

    verifier /flags 0x00008000 /driver MyDriver.sys
    

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

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

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