第一讲:开发环境与工具篇

来源:互联网 发布:王麟 知乎什么回事 编辑:程序博客网 时间:2024/05/20 00:48

Windows驱动程序的开发,开发工具主要可以这样分:记事本、DriverStudio(DS)  +    Visual C++ 6.0或者VS2005 ,编译的工具选择DDK或者Visual C++ 6.0,而调试工具有Windbg双机调试和SoftICE单机调试。下面将详细的介绍这些工具的配置和使用。

开发工具:

在安装所有的工具之前,首先安装DDK,这个是微软提供的编译器,用来编译驱动程序。可以到其官网上下载。地址是http://www.microsoft.com/whdc/devtools/downloads.mspx

这个地址是Windows驱动程序开发的一些工具的下载地址,都是微软提供的。

记事本

对于最初的学习者,我推荐使用记事本,不过最好找一个能有关键词高亮的记事本程序,Windows自带的记事本没这功能,我用的是Notepad++,支持的语言也挺多,还是免费的。

使用记事本程序进行开发,能够增加对内核函数以及内核程序的数据结构的理解,因为它没有智能提示,所有的东西都需要自己敲,自己动手的同时也增加了印象,对后期的学习有蛮大的帮助。不过记事本程序有它的缺点,如果不细心的话,容易出现拼写错误。

Driver Studio  +  VC6.0

DS是一个不错的集成的工具,整个系统包括开发工具、调试工具、测试工具等等,很全,很强大,但是对于初学的人,我不推荐使用,因为这个环境也会把新人给晃晕,就像VC++6.0MFC程序一样,系统生成的代码很多。

要配置环境,首先安装VC++6.0,安装完之后,安装DS,然后进行关联就Ok了。这样就可以使用DS自带的DriverWizard进行设置,从而生成一个驱动程序的框架,然后使用VC++6.0进行编辑。

使用VC++6.0进行编辑,可以装一个插件,Visual Assist X,这个插件很好用,带有代码智能提示,蛮好用的,现在最新的版本应该是10.5吧!可以到下面的地址下载

http://download.pchome.net/development/c/detail-10255.html

VC++6.0

通过修改VC的配置也可以将其作为驱动开发和调试的工具。具体的配置如下:

VC新建一个Win32 Application,选择建立一个空的工程。

接下来增加新的编译版本,去掉DebugRelease,添加一个Win32 Driver Check Edition

然后修改工程属性,选择project | setting,弹出Setting的对话框,在General选项卡中将Intermediate filesOutput files修改为MyDriver_Check

选择C/C++选项卡,将原有的Option内容全部删了,替换成下面的内容:

[cpp] view plain copy
  1. /nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c   

修改项目的Link选项的Project Options

[cpp] view plain copy
  1. ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078   
  

修改VClib目录和include目录。

VC中选择ToolsOptions,弹出Directories选项卡,在Show Directories for下拉菜单中选择Include files菜单,添加“C:/WINDDK/2600/inc/wxp”和“C:/WINDDK/2600/inc/ddk/wxp”,并将它们置于最上方。“C:/WINDDK”这个是你自己的DDK的安装地址,一切修改好之后,保存,确定,然后就可以进行驱动的创建和编译了,添加头文件、主文件,然后编译。

编译工具:

DDK

DDK是微软官方提供的一个驱动编译工具,有很多版本,不同的操作系统有不同的版本和编译环境。主要有Check版和Free版,Check编译就像VC编译里边的Debug,而Free则是Release。一般选择Check环境。

调试工具

一般使用虚拟机进行双击调试,使用的工具是Windbg,下载地址是

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

具体的配置,网上很多,本来我也想写一下,因为最近博客中无法上传图片,我就不写了,这里有一个配置的链接,照着配置就行了。

http://hi.baidu.com/lynnux/blog/item/876a57179cb1420ec83d6de7.html

注意:符号表的版本一定要和自己的操作系统版本要一致。这个是对那些上网不是很方便的朋友来说的,如果上网不方便,可以到能上网的地方下载符号表到本机,而不是让Windbg自动下载。符号表的设置不正确,驱动程序就无法调试。具体的调试技巧暂时就不总结了,可以到看雪论坛看看

http://bbs.pediy.com/showthread.php?t=106307&highlight=Windbg

http://bbs.pediy.com/showthread.php?t=36186&highlight=Windbg

资料蛮多的,大家可以参考一下。



此文章来自于【http://blog.csdn.net/caperingrabbit/article/details/5280060】

0 0
原创粉丝点击