您的位置:首页 > 其它

关于windows驱动开发环境搭建

2011-07-17 00:28 267 查看
每个人的环境不一样,遇到的问题也不一样,对于驱动开发环境搭建花了我一天时间(插下嘴,就像昨天上班有人通知我周报的时间要填写完整,我才意识到时间安排了就一定要让它达到一定的效果),让我差点放弃了即将开始的挑战。
基本上这个环境和《寒江独钓》里的环境是一致的,但是自己亲自试验过程还是碰到些问题,在google上找到的都是一些经过转载之后再转载的东西了,越转越乱,浪费我n多时间。

软件安装:
1、 安装WDK,这个只需要默认全部安装就可以。
2、 下载SRVINSTW.EXE和DebugView.exe软件,Srvinstw.exe这个软件可以把你开发的驱动添加到系统服务项里,同时当你启动运行时可以使用DebugView.exe来显示一 些内核调试信息(要启动Capture->Capture Kernel选项)
3、 连接调试软件WinDbg,这个也是我设置很久了才可以调试(安装在host机器上,也就是非调试机,在我的环境里使用虚拟机作为调试机,Win7本机系统作为非调试机)。

配置问题:
1、 对虚拟机的配置(被调试机):
a、 添加联机调试通信管道(非调试机通过管道和调试机进行内核信息跟踪),方法是在虚拟机Setting里添加Serial Port,其效果截图如下:



b、 更改虚拟机系统的启动方式
这里顺便介绍一个小工具(Everything,可以快速搜索硬盘上的文件),找到boot.ini,更改虚拟机系统的启动方式,截图如下(需要注意红框的部分):



这个是添加操作系统可以以调试的状态启动,其中我在这里遇到的问题是:
如果你的虚拟机系统里本身就有一个通信端口com1,那么你再上一步里做的添加就会是SerialPort2,那么在这步里debugport=com2 ,网上有很多人直接转载的,情 况不一定符合。
c、 修改虚拟机设备管理其的com2端口的波特率为115200,不是11520。

2、 非调试机的配置环境(host):
a、添加windbg的快捷方式的设置,在快捷方式的目标里后面添加:
-b -k com:port=\\.\pipe\com_1,baud=115200,pipe
注意:这里的pipe仍然和上面虚拟机设置的事一样的com_1,而不是com_2。
b、设置环境变量,(这个是参考看雪论坛里面,根据个人的情况设置的,因为对于一些概念还不是很清楚,就不打算解释太多,有机会了再回来补这个空,如果清楚的朋友希望也可以告诉我一下)。
新建用户环境变量:_NT_SYMBOL_PATH
变量值为:
D:\MySysSymbols;SRV*D:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols;D:\Projects\objchk_wxp_x86\i386
其中,SRV*D:\..../sysmbols这个路径是windows内核符号表,WinDbg会从http相应的站点下载所需的符号表。D:\Projects\objchk_wxp_x86\i386是我build之后的驱动符号表目录(同.sys同一个目录下)。

调试过程:
1、先启动虚拟机系统,在打开windbg程序
2、选择调试模式

可能遇到的问题:
1、 启动连接不上,一直Waitting reconnect…,表示连接失败,很可能是因为管道端口没设置好,或者虚拟机boot.ini里面的debgport设置有误。
2、 笔记本host机是否需要设置com端口?
这个是我这次最浪费时间的地方,其实我查过了笔记本似乎有默认的设置com port,而且波特率也是15200,并且能自适应波特率。关于这个方面没有确切去证实,只能这样说。
3、 调试成功的效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: