usb驱动程序编写者指南.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
usb驱动程序编写者指南

第一卷 驱动程序编写者指南 第 1 章 驱动程序开发环境 第 2 章 测试驱动程序 1 第1章 驱动程序开发环境 为 Microsoft® Windows® 2000 开发驱动程序至少需要两台机器:一台用于开发,一台用于调 试。 如果驱动程序依赖于基本设备,包括高端工作站和服务器,驱动程序也可在一台多处理器计 算机上调试和测试。 本章讨论如下主题: 1.1 自由构建(Free Build )和检查构建(Checked Build ) 1.2 调试环境 1.1 自由构建和检查构建 微软的 Windows2000 驱动程序的测试和调试需要 Windows® 2000 的自由构建和检查构建。 自由构建(或零星构建)是操作系统的终端用户版本,系统和驱动程序以最优化方式构建, 不可用调试断言,且调试信息已从二进制码中去除。自由系统和驱动程序更小更快,对内存 的需求更小。 检查构建用于操作系统和内核模式驱动程序的测试和调试,检查构建包括意外错误检查、参 数检查和在自由构建中不可用的调试信息。一个检查的系统或驱动程序能帮助区分和记录驱 动程序的某些问题,如内存泄漏或不当的设备配置,这些问题将导致不可预测的后果。 尽管检查构建提供额外的保护,但它比自由构建消耗更多的内存和硬盘空间,且由于下列原 因,系统和驱动程序运行得更慢。 可执行程序含有符号调试信息。 由于参数检查和调试输出,执行了附加的代码(诊断信息)。 新的驱动程序开发通常包括以下步骤: 1. 编写驱动程序代码,应包括条件编译标记的调试检查。 2 . 测试和调试基于操作系统的检查构建的驱动程序的检查构建。 3 . 测试和调试基于自由构建的驱动程序的自由构建。 4 . 基于自由构建的驱动程序的调整。 5 . 使用了检查构建和自由构建的驱动程序和操作系统附加的测试和调试。 6 . 使用了自由构建的最终的测试和检查。 在驱动程序开发的早期,需要 Windows2000 检查构建来调试驱动程序,检查构建的附加调试 代码保护了驱动程序可能导致的许多错误(比如复发的自旋锁)。 执行调整、最终测试和检查驱动程序应该基于自由构建而完成,自由构建的速度越快越有可 能发现竞争条件和其他同步性的问题。 由于自由构建与 Windows2000 的零星版本相同,最终测试和检查也应该基于自由构建而完 成。 驱动程序代码通常包括预处理器符号,该符号允许被编译成自由和检查构建。 DBG 标记是一个保留的符号,可用它来决定编译时 Windows2000 的什么构建在运行,如果 2 Windows2000 检查构建运行,设置 DBG 为 1,如果自由构建运行,不定义 DBG (或设置为0 ,如 果或者包括头文件 wdm.h ,或者包括 ntddk.h )。 驱动程序也应该在至少一个多处理器平台和至少一个单处理器平台上测试和调试;且这两个 平台应该运行 Windows2000 的当前版本。 1.2 调试环境 内核模式调试需要一个目标机和一个主机,目标机用来运行驱动程序或另一内核模式的应用 程序,主机运行调试程序。 图 1.1 显示使用调试驱动程序的典型 Windows2000 设置。内核调试不需要自由或检查构建的 特别结合,从一自由或检查系统调试一自由系统或检查系统是可行的。然而,总体上说,主机没 有理由运行较慢的检查构建。 图 1.1 典型的 Windows2000 调试设置 参看在线 DDK 的 Debugging Drivers 和微软的调试程序使用文献来获得更多细节。 3 第2章 检查驱动程序 在 Windows2000 上,Driver Verifier 是新的可用工具,它执行几项测试和调试内核模式驱动程 序的任务。 2.1 Driver Verifi

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档