windows驱动开发需要两个系统运行,一个host,一个target。target是被调试的系统。
target用virtualbox来运行。
步骤:
1. 安装virtualbox,上面创建windows系统
2. host机上安装WinDDK驱动开发包(当前版本7600.16385.1),安装时选择所有的选项,这样包括windbg调试工具。
3. 安装 VisualDDK ,安装时会提示选择WinDDK目录。这里要在inc/ddk/目录下新建wnet目录,复制inc/ddk/ntddk.h到wnet目录,这样 VisualDDK 才能提示找到WinDDK。
4. 从target和host的共享目录互相复制文件。复制host上VisualDDK 安装文件下target到target,选择相应的平台安装文件。target系统重新启动后进入调试模式。
5. host上,VirtualBox的安装目录下VBoxDD.dll重命名为VBoxDD0.dll,从VisualDDK 中VirtualBox目录下复制对应平台的VBoxDD.dll文件,是给VirtualBox打上补丁。重新启动VirtualBox和target系统。
6. 在visual studio 2008中新建VisualDDK项目,比如为driver1,Debug菜单中有Driver Launch Settings,默认已经设置连接到虚拟机。直接编译成功,但运行还需要发送driver1.sys到target。
7. target上启动复制过去的VisualDDK目录中的DDKLaunchMonitor.exe,接收host发送的文件。
8. host上Debug菜单中的Start Debugging Driver是发送驱动到target,并开始调试。