验证过程

SDV 执行 验证,即测试,以确定驱动程序的实际行为是否符合定义正确行为的规则。

提交命令以验证驱动程序时,SDV 将执行一个三步过程,在此过程中,它确定所需的文件、准备文件并验证驱动程序。

本主题介绍验证过程的每个步骤中发生的情况。

生成

生成 步骤中,SDV 使用 MSBuild 编译、链接和生成驱动程序。

扫描

“扫描”步骤中,SDV 会扫描驱动程序的代码以获取函数角色类型声明,汇编驱动程序入口点的列表,并在存储驱动程序 (称为驱动程序源目录) 的源文件的目录中创建 Sdv-map.h 文件。

检查

检查 步骤中,SDV 使用你为验证选择的规则来准备并验证驱动程序。 有关可以选择的规则的详细信息,请参阅 静态驱动程序验证程序规则

SDV 首先确定所选规则是否需要操作系统模型的其他组件。 如果这样做,SDV 会将其他操作系统模型文件复制到驱动程序的源目录中。

接下来,驱动程序文件、库文件、规则代码 (RuleName.slic) 文件和操作系统模型文件将链接到单个可执行文件进行验证。

然后,SDV 验证引擎一次验证一个规则,直到验证所有选定的规则。

在此步骤中,SDV 会为其在 DriverPath\sdv\检查 目录中验证的每个规则创建一个子目录。

评论

虽然 SDV 执行验证过程中的步骤,但它会将状态消息以及报告每个步骤中出现的错误的错误消息写入命令行。 有关状态消息的信息,请参阅 命令行输出。 有关错误消息的信息,请参阅 静态驱动程序验证程序错误消息。 有关启用诊断以帮助你和 Microsoft 排查 SDV 问题的信息,请参阅静态驱动程序验证程序诊断