配置虚拟机 (VMWare) 和Windbg调试 Windows XP 用于驱动开发

配置虚拟机 (VMWare) 和Windbg调试 Windows XP 用于驱动开发

驱动程序设计和普通应用程序设计不同,它更接近系统的内核,稍有不当极可能造成系统的崩溃,所以一般驱动的开发会在虚拟机上进行。这样方便进行调试。

要配置的东西很多,现总结如下:

1.     首先安装虚拟机软件:VMWare,新建一个Windows XP Professional的虚拟机。选择合适的网络连接方式和硬盘大小,分配好内存,装了系统之后就不能改了。将一个Windows XP Professional SP3的镜像文件加载到新建的虚拟机的光驱中或者也可以直接用光驱,只要在VMware里选好使用物理光驱就行了。之后就是正常的Windows操作系统安装过程。

2.     接下来为了操作的方便,先将网络配置调通,让虚拟机可以正常连网。我的网络环境下选择NAT:方式就可以实现正常连网了。

3.     安装虚拟机工具VMWare Tool,可以使得鼠标不需要切换,共享剪贴板和支持文件拖拽等。将Windows.iso载入到虚拟机的光驱中,进入系统后安装即可。装完这个之后鼠标就可以在主机和虚拟机之间自动切换了,剪贴板也共享了。但是文件拖拽功能不好用。据说是对中文支持的问题,汉化版不太好用。下了一个补丁仍未解决。

4.     虚拟机和主机之间的文件传输是很重要的,否则很不方便,于是使用另一种方法——建立共享文件夹来解决。首先在虚拟机设置中选项中启用共享文件夹,按向导选择主机路径。这时在虚拟机的网上邻居里面添加一个网上邻居,根据向导添加共享文件夹。这时就可以方便的在主机和虚拟机之间共享文件了。为了使用的方便,这时还可以右击我的电脑,将共享文件夹映射为网络驱动器。

5.     这时可以开始对系统进行更新,打下补丁。

6.     要使XP通过调试模式启动需要将虚拟机C盘根目录下的boot.ini末尾加上一行:multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=COM1 /baudrate=115200 这样虚拟机和将增加一个以调试模式启动的选项,调试信息将通过串口1,以115200的不特率传输。

7.     注意这时虚拟机还没有串口,关机后编辑虚拟机配置,添加一个串口命名为://./pipe/com_1 第二行选“该终端是服务器” 第三行选“其它终端是一个程序”(其实就是Windbg)。重新启动,在其设备管理器中将串口COM1的波特率(第一行)设为115200. 在主机的设备管理器中也进行同样的配置。

8.     在主机中安装Windbg,可以在微软的官网上下到。安装好之后选择File->Symbol File Path 输入srv*C:/symbolcache*http://msdl.microsoft.com/download/symbols 这样就会自动从微软的网站上下载调试符号(PDB),便于反汇编。

9.     要使Windbg和要调试的系统连接上需要添加启动参数。为方便带参数启动Windbg,可以为Windbg.exe创建一个快捷方式:其目标末尾加上:"C:/Program Files/Debugging Tools for Windows (x86)/windbg.exe" -k com:port=//./pipe/com_1,baud=115200,pipe 注意一定要加载引号外。这时环境就配置好了。

10.  首先启动虚拟机软件,将XP系统开机,然后运行Windbg的快捷方式,这时Windbg显示Opened //./pipe/com_1 Waiting to reconnect... 这时再选择进入XP系统(Debug模式)就会出现类似于:Connected to Windows XP 2600 x86 compatible target at (Tue Jan 12 16:26:36.203 2010 (GMT+8)), ptr64 FALSE Kernel Debugger connection established. 的信息。这时可以用Ctrl+Break停止运行了。要继续运行在提示符下键入g即可

 

分类:  驱动开发
0
0
(请您对文章做出评价)
« 上一篇: 用快捷方式启动带参数的程序(例如Windbg)
» 下一篇: 使用links方式配置Eclipse插件


用快捷方式启动带参数的程序(例如Windbg)

要使用WinDbg调试Windows操作系统,如果双击开始菜单中的图标的话,WinDbg是不带参数运行的,而要调试虚拟机中的Window 就需要在命令行下带参数运行Windbg

例如:windbg.exe -k com:port=//./pipe/com_1,baud=115200,pipe

每次都用命令行的话太麻烦了

可以建立一个桌面快捷方式,在原先的目标文件后加上参数,以后双击这个快捷方式就可以带参数启动程序Windbg了

"D:/Program Files/Debugging Tools for Windows (x86)/windbg.exe" -k com:port=//./pipe/com_2,baud=115200,pipe

这里注意:引号内是文件的全路径。运行参数要空一格放在引号的外面。OK。

分类:  驱动开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值