驱动开发和调试环境搭建.docx
- 文档编号:7948907
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:9
- 大小:539.49KB
驱动开发和调试环境搭建.docx
《驱动开发和调试环境搭建.docx》由会员分享,可在线阅读,更多相关《驱动开发和调试环境搭建.docx(9页珍藏版)》请在冰豆网上搜索。
驱动开发和调试环境搭建
驱动开发和环境搭建
【文章标题】:
驱动开发和调试的环境设置
【文章作者】:
haikerenwu
【使用工具】:
VC6.0,VMware6.0.3,Windbg
【电脑配置】:
惠普笔记本xpsp3
(一)VMWare安装篇
VMWare的安装一路Next即可,关于其序列号,XX一下就能找到,虚拟机安装完成之后,需要安装操作系统,我在虚拟机中安装的是windowsxpsp2系统。
点击“文件”----“新建”----“虚拟机”
进入新建虚拟机的向导,配置虚拟系统参数
选择虚拟系统文件的兼容格式(新手推荐选择默认选项)
按照默认设置继续点击下一步,选择好您需要的操作系统,此处我选择的是WindowsXPPrefessional。
设置虚拟机名称和虚拟操作系统安装路径,我单独空出来一个F盘,将虚拟机和虚拟操作系统全部装在该盘。
配置网络模式(推荐选择NAT,一般主机不用做任何的设置虚拟机就可以利用主机上网)。
配置虚拟磁盘的容量。
在这里可以直接单击完成,来完成基本操作设置,磁盘默认空间是8GB,用户可以根据自己的实际使用情况来调整大小,也可以自定义分区。
操作完成之后,在“VM”菜单下有个“setting。
。
。
”菜单,点击此菜单,在CD-ROM中选择合适的选项,我使用的是UseISOimage选项,将我的xpsp2操作系统的ISO映像路径设置好,安装操作系统。
点击ok之后,启动虚拟机,即开始安装操作系统,安装过程跟普通装机过程相同。
安装完成之后,启动操作系统,然后在VM菜单下点击“InstallVMWareTools”,把虚拟操作系统的驱动装好。
(二)VMWare设置篇
虚拟操作系统安装完成之后,就是设置该系统为Windbg双机调试做准备。
关闭虚拟操作系统,添加一个虚拟串口,因为我的电脑是笔记本,现在的笔记本很少配置串口,所以要虚拟一个串口,这个过程由VMWare完成,图解如下。
点击VM菜单下setting菜单,在弹出的设置对话框中点击“Add”按钮。
点击Next按钮,在弹出的对话框中选择“Outputtonamedpipe”。
设置pipe的名字,注意此名字在windbg设置中使用,另外第三项选择“Theotherendisanapplication”,勾选上Connectatpoweron。
在虚拟机操作系统的boot.ini文件里填入如下内容:
multi(0)disk(0)rdisk(0)partition
(1)\WINDOWS="MicrosoftWindowsXPProfessional-debug"/fastdetect/debug/debugport=com1/baudrate=115200如图:
因为在boot.ini中设置的debug输出端口为com1,所以在虚拟操作系统的设备管理器中设置COM1端口的波特率为115200。
至此虚拟机设置完成。
(三)Windbg设置
创建Windbg的桌面快捷方式,在目标一栏后面添加“-b-kcom:
pipe,port=\\.\pipe\com_1,resets=0”,如下图所示:
设置Windbg的符号路径,Ctrl+s打开设置窗口,符号路径一般有两个(可以设置多个),一个视设置保存系统符号文件的路径,一个是你的驱动的pdb文件的路径,以分号隔开。
设置符号路径。
“Ctrl+S”打开设置窗体,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。
重启虚拟操作系统,选择debuge模式。
双击之前创建的Windbg的快捷方式,它会自动去连接调试虚拟操作系统。
“ConnectedtoWindowsXP2600x86compatibletargetat(ThuAug1310:
30:
25.8432009(GMT+8)),ptr64FALSE”代表连接成功。
我们把编译好的驱动文件(*.sys)放到虚拟操作系统里,回到WinDbg,按“Ctrl+Break”,WinDbg会让虚拟操作系统暂停下来,我们也可以在WinDbg的命令栏输入命令了,在这里输入“budrivername!
driverentry”(本例是buHelloDDK!
driverentry,大小写不限)可以在驱动的DriverEntry函数的入口点下一个延迟断点,其实BU的意思就是SetUnresolvedBreakpoint,WinDbg会记住这个断点,当这个驱动被加载了并且执行到这个地方,WinDbg会暂停虚拟操作系统让你进行调试操作。
drivername是你的驱动名字,比如我在这里的驱动名字是HelloDDK,那我在这里输入的命令如下:
buHelloDDK!
driverentry。
回车后即下好断点了。
现在打开源文件,源文件在宿主机种。
“Ctrl+O”找到驱动的源文件打开,我们打开Driver.c。
如果之前没有设置符号路径的话,可以在此继续设置。
“Ctrl+S”打开设置窗口,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。
此时要记得勾选“Reload”,稍等片刻,等WinDbg把这些东西加载完毕后再操作。
加载完后我们输入“g”,回车,让虚拟操作系统跑起来。
在虚拟操作系统里运行驱动加载/卸载工具把我们的驱动加载起来。
可以看到,已经断下来了,我们可以源码调试驱动了。
其实可以通过VMWare设置一个共享文件夹,将宿主里编译的sys驱动文件放进去,然后在虚拟操作系统中可以直接通过工具加载和卸载这些驱动文件,方便调试。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 驱动 开发 调试 环境 搭建