Win7+vmware+xpsp3+vs2010驱动开发环境搭建及调试方法
来源:互联网 发布:开源论坛源码 编辑:程序博客网 时间:2024/06/04 19:32
Win7+vmware+xpsp3+vs2010驱动开发环境搭建及调试方法
本文,系09年笔记记录整理,当时只有大概的步骤,最近又搭建环境,顺道比较详细的整理一下,以供自己备查。较之前的笔记,只是DDK和VMWARE的版本增高了,基本步骤还是大差不差。
注意:
如果是初次搭建环境,请大概浏览完全篇后,再参照本文搭建环境。
一、工具描述
主机:Win7 (原来是:XP sp3)
虚拟机:vmware9.0 +XP sp3
WinDBG :DDK安装完成后即有
DDK:6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso
注:
主机:hostOS
虚拟机:guestOS
代码来自于网络,详细如下:
#include <ntddk.h>
// 提?供?一?个?Unload函ˉ数簓只?是?为a了?能ü够?支§持?动ˉ态?卸?载?,?防え?止1驻痢?留?内ú存?
VOID DriverUnload(PDRIVER_OBJECT driver)
{
// 但?什?么′都?不?做?,?只?打洙?印?一?句?话°:
DbgPrint("first: Our driver is unloading...\r\n");
}
// DriverEntry,?入?口ú函ˉ数簓。£相à当獭?于瞞ain。£
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
#if DBG//调獭?试?命ü令?
// _asm int 3
#endif
// 这a是?我ò们?的?内ú核?模£块é的?入?口ú,?可é以?在ú这a里?写′入?我ò们?想?写′的?东?西÷。£
// 我ò在ú这a里?打洙?印?一?句?话°。£
DbgPrint("first: Hello, world!...\r\n");
// 设Θ?置?一?个?卸?载?函ˉ数簓便?于?这a个?函ˉ数簓能ü退?出?。£
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;//返う?回?成é功|,?否?则ò不?执′行D
}
二、具体步骤
guestOS设置比较简单,具体操作如下:
添加串口:
VM->settings->hardware->add
选择 serial
设置如下图所示:
修改guestOS的boot.ini文件
在文件最末行添加如下内容:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com2 /baudrate=115200
debugport=com2,要根据你虚拟出来的串口号来设置。
本人电脑里设置的是COM2,如上图所示。
注意:
1、boot.ini 文件在C:根目录下,修改booti.in文件时,需要设置文件夹选项,详见下图的标注。
2、波特率
进入系统(虚拟机),修改串口的波特率为115200,默认建立的时,波特率是9600。
电脑右键->属性->硬件->属性管理,在弹出的框框里找到COM2修改即可。
虚拟机(guestOS)上的配置基本完成。
hostOS配置:
安装DDK
版本:6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso,在微软网站可以下载到。
DDK的安装,可以使用DEAMON tools 安装即可。
WinDBG设置:
创建一个windbg的快捷方式
右击windbg快捷图标,并在属性下的目标内容后面,
添加“-k com:port=\\.\pipe\com_1,baud=11520,pipe”后,确定即可。
设置符号路径
WinDbg->菜单->File->Symbol File Path或“Ctrl+S”打开设置窗体,符号路径一般有两个两者以分号隔开。
1、是你设置保存系统DLL的PDB文件的路径
直接从微软网站下载,下载时一定要注意版本,也就是要和你的操作系统版本一致。
Symbol下载地址中
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx
例如
我将其安装在E:\WINDOWS\Symbols,则在框中输入“E:\WINDOWS\Symbols”
2、驱动的PDB的路径,即你驱动生成所在的目录。
配图是原图,新搭环境的盘符与09年搭环境时有区别,需注意。
至此,hostOS(主机)需要设置的基本完成。
联调基本步骤:
启动虚拟机
选择 XP的调试版本,先不要按“回车键”。
主机(hostOS)上运行Windbg程序。
运行虚拟机上的XP系统(在虚拟机的 debug选项上按 “回车”)
hostOS上的windbg 出现如下信息:
虚机启动后如下:
后来发现是“symbol”搞错了。
新hostOS是WIN7(32bits),老的是WINXP
第一次装的symbol(Windows_Win7SP1.7601.17514.101119-1850.X86FRE.Symbols)是对应于WIN7的,
所以报上面的错误。
后重新下载并安装
WindowsXP-KB936929-SP3-x86-symbols-full-ENU,就正常了。
设置路径:
Windbg中“restart”后:
Windbg界面的命令行窗口输入“bu driver!driverentry”(不分大小写哦)
在驱动的DriverEntry函数的入口点下一个延迟断点,driver是你的驱动名字。
在虚拟机上加载驱动程序
这里使用instDrv工具,网上搜索能搜到。
hostOS上的WINDBG不能断点下来。
狠是邪门
后来,用DDK命令行编译驱动,用相同的方法,最终在驱动源文件里能断点下来。
而新搭建的环境采用VS2010来配置环境,编译驱动。开始怀疑VS2010的编译问题,后经过对比发现:
用VS2010编译时,未能生成PDB文件。
设置VS2010,如下所示:
再次重复前面调试驱动步骤,成功断点下来。
- Win7+vmware+xpsp3+vs2010驱动开发环境搭建及调试方法
- VMware+Windbg+Win7 内核驱动调试 ----(环境搭建)
- vs2010 搭建驱动开发环境
- Win7+WinDbg+VMware+WinXP调试环境搭建
- windbg vmware win7联机调试环境搭建
- VMWare+WinDbg搭建(驱动)调试环境
- VMWare+WinDbg搭建驱动调试环境
- windbg+vmware搭建驱动联机调试环境
- win7+vs2010搭建directshow sdk开发环境
- win7+VS2010+opencv2.4.9 开发环境搭建
- win7 VS2010搭建Qt开发环境
- 驱动开发 - WDK 调试及 SVN 环境搭建
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之一
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之二
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之三
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之四
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之五
- win7驱动开发 VMWare+Windbg的虚拟机双机内核调试环境(VS2008+DDK)
- 如何使用iOS Keychain存储用户敏感信息
- 自定义u-boot启动logo的方法
- android源代码学习路径查询www.maiziedu.com
- Tomcat配置HTTPS方式
- 数字电路设计之verilog 原语
- Win7+vmware+xpsp3+vs2010驱动开发环境搭建及调试方法
- postgreSQL数据库角色
- 如何快速查看mysql数据文件存放路径?
- 查看oracle数据库的静态和动态参数
- 大数据时代之hadoop(二):hadoop脚本解析
- Android视频通话开发
- LCS/最长公共子串算法分析
- Magento Checkout 流程的运费刷新
- tcpreplay(3.4版本)程序显示统计结果的一个问题