1、windows驱动开发和调试环境搭建Windows驱动开发和环境搭建【文章标题】: Windows驱动开发和调试的环境设置【文章作者】: haikerenwu【使用工具】: VC6.0,VMware6.0.3,Windbg【电脑配置】: 惠普笔记本xp sp3(一)VMWare安装篇VMWare的安装一路Next即可,关于其序列号,XX一下就能找到,虚拟机安装完成之后,需要安装操作系统,我在虚拟机中安装的是windows xp sp2系统。点击“文件”-“新建”-“虚拟机”进入新建虚拟机的向导,配置虚拟系统参数选择虚拟系统文件的兼容格式(新手推荐选择默认选项)按照默认设置继续点击下一步,选择好
2、您需要的操作系统,此处我选择的是Windows XP Prefessional。设置虚拟机名称和虚拟操作系统安装路径,我单独空出来一个F盘,将虚拟机和虚拟操作系统全部装在该盘。 配置网络模式(推荐选择NAT,一般主机不用做任何的设置虚拟机就可以利用主机上网)。配置虚拟磁盘的容量。在这里可以直接单击完成,来完成基本操作设置,磁盘默认空间是8GB,用户可以根据自己的实际使用情况来调整大小,也可以自定义分区。 操作完成之后,在“VM”菜单下有个“setting。”菜单,点击此菜单,在CD-ROM中选择合适的选项,我使用的是Use ISO image选项,将我的xp sp2操作系统的ISO映像路径设置
3、好,安装操作系统。点击ok之后,启动虚拟机,即开始安装操作系统,安装过程跟普通装机过程相同。安装完成之后,启动操作系统,然后在VM菜单下点击“Install VMWare Tools”,把虚拟操作系统的驱动装好。(二)VMWare设置篇虚拟操作系统安装完成之后,就是设置该系统为Windbg双机调试做准备。关闭虚拟操作系统,添加一个虚拟串口,因为我的电脑是笔记本,现在的笔记本很少配置串口,所以要虚拟一个串口,这个过程由VMWare完成,图解如下。点击VM菜单下setting菜单,在弹出的设置对话框中点击“Add”按钮。点击Next按钮,在弹出的对话框中选择“Output to named pip
4、e”。设置pipe的名字,注意此名字在windbg设置中使用,另外第三项选择“The other end is anapplication”,勾选上Connect at power on。在虚拟机操作系统的boot.ini文件里填入如下内容:multi(0)disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional - debug /fastdetect /debug /debugport=com1 /baudrate=115200如图:因为在boot.ini中设置的debug输出端口为com1,所以在虚拟操作系统的
5、设备管理器中设置COM1端口的波特率为115200。至此虚拟机设置完成。(三)Windbg设置创建Windbg的桌面快捷方式,在目标一栏后面添加“-b -k com:pipe,port=.pipecom_1,resets=0”,如下图所示:设置Windbg的符号路径,Ctrl+s打开设置窗口,符号路径一般有两个(可以设置多个),一个视设置保存系统符号文件的路径,一个是你的驱动的pdb文件的路径,以分号隔开。设置符号路径。“Ctrl+S”打开设置窗体,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。重启虚拟操作系统,选择debuge
6、模式。双击之前创建的Windbg的快捷方式,它会自动去连接调试虚拟操作系统。“Connected to Windows XP 2600 x86 compatible target at (Thu Aug 13 10:30:25.843 2009 (GMT+8), ptr64 FALSE”代表连接成功。我们把编译好的驱动文件(*.sys)放到虚拟操作系统里,回到WinDbg,按“Ctrl+Break”,WinDbg会让虚拟操作系统暂停下来,我们也可以在WinDbg的命令栏输入命令了,在这里输入“bu drivername!driverentry”(本例是bu HelloDDK!driverent
7、ry,大小写不限)可以在驱动的DriverEntry函数的入口点下一个延迟断点,其实BU的意思就是Set Unresolved Breakpoint,WinDbg会记住这个断点,当这个驱动被加载了并且执行到这个地方,WinDbg会暂停虚拟操作系统让你进行调试操作。drivername是你的驱动名字,比如我在这里的驱动名字是HelloDDK,那我在这里输入的命令如下:bu HelloDDK!driverentry。回车后即下好断点了。现在打开源文件,源文件在宿主机种。“Ctrl+O”找到驱动的源文件打开,我们打开Driver.c。如果之前没有设置符号路径的话,可以在此继续设置。 “Ctrl+S”打开设置窗口,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。此时要记得勾选“Reload”,稍等片刻,等WinDbg把这些东西加载完毕后再操作。加载完后我们输入“g”,回车,让虚拟操作系统跑起来。在虚拟操作系统里运行驱动加载/卸载工具把我们的驱动加载起来。可以看到,已经断下来了,我们可以源码调试驱动了。其实可以通过VMWare设置一个共享文件夹,将宿主里编译的sys驱动文件放进去,然后在虚拟操作系统中可以直接通过工具加载和卸载这些驱动文件,方便调试。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1