驱动开发和调试环境搭建.docx

上传人:b****6 文档编号:7948907 上传时间:2023-01-27 格式:DOCX 页数:9 大小:539.49KB
下载 相关 举报
驱动开发和调试环境搭建.docx_第1页
第1页 / 共9页
驱动开发和调试环境搭建.docx_第2页
第2页 / 共9页
驱动开发和调试环境搭建.docx_第3页
第3页 / 共9页
驱动开发和调试环境搭建.docx_第4页
第4页 / 共9页
驱动开发和调试环境搭建.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

驱动开发和调试环境搭建.docx

《驱动开发和调试环境搭建.docx》由会员分享,可在线阅读,更多相关《驱动开发和调试环境搭建.docx(9页珍藏版)》请在冰豆网上搜索。

驱动开发和调试环境搭建.docx

驱动开发和调试环境搭建

驱动开发和环境搭建

【文章标题】:

驱动开发和调试的环境设置

【文章作者】:

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驱动文件放进去,然后在虚拟操作系统中可以直接通过工具加载和卸载这些驱动文件,方便调试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1