-
Win7系统中使用WinDbg与虚拟机调试驱动程序的操作方法和要点(2)
- 作者:宋惜瑶 分类:win7 发布时间:2017-10-12 21:37:56
在boot.ini文件中添加以下代码: multi(0) disk(0) rdisk(0) partition(1) /WINDOWS=“Microsoft Windows XP Professional-Debug” /fastdetect /debugport=COM1 /baudrate=115200 10、...
在boot.ini文件中添加以下代码:
multi(0) disk(0) rdisk(0) partition(1) /WINDOWS=“Microsoft Windows XP Professional-Debug” /fastdetect /debugport=COM1 /baudrate=115200
10、在 guest os 的设备管理器中把com1端口的速度也就是“每秒位数”项,设为和上面一样的115200。
打开vmware中winxp的设备管理器,选择端口(com1), 双击这个“com1”,在弹出的对话框中。
10.1、设置真实系统(主机)com。
11、回到我们的真实系统(主机)中,重复第10步。
11.1、设置真实系统(主机)WinDbg 。
12、设置WinDbg的快捷方式,及其运行参数:
我们需要告诉WinDbg通过pipe进行连接和连接的速度。
可以在命令提示符(cmd.exe)下加参数 -k com:port=//。/pipe/com_1,baud=11520,pipe 运行WinDbg(VMware Support 中没有提到 baud=11520 这个参数,其实这是个比较重要的参数)。
更方便的方法是在桌面建立一个WinDbg的快捷方式,在该快捷方式的属性,“目标”框中,加上参数 -k com:port=//。/pipe/com_1,baud=11520,pipe 。这样运行这个快捷方式启动的WinDbg就完成了设置。参数的具体作用,可以参考 WinDbg 的帮助文件。
在快捷方式的属性中,将目标(Target)改为:
“C:/Program Files/Debugging Tools for Windows/windbg.exe” -b -k com:pipe,port=//。/pipe/com_1,resets=0
命令参数的意义:
-b:一旦主机目标机之间建立起连接,立刻中断目标机
-k:内核调试
Com:设置连接目标机的通信端口(此处为命名管道)和波特率(此处为115200)
-y:设置符号文件路径
13、设置WinDbg参数
现在我们假设你的驱动代码放在D:/mydriver目录中;系统级Symbol文件存放在C:/WINDOWS/Symbols目录中,这些Symbol文件是从微软的网站上http://msdl.microsoft.com/download/symbols下载而来,这个网址是不可以用IE直接打开的,WinDbgà Fileà Symbol File Path.。.界面中选择Reload,WinDbg会自动帮你下载;驱动生成的Symbol文件存放在D:/mydriver/objchk_wxp_x86/i386目录中。
13.1、设置驱动Symbol路径,WinDbg-》File-》 Symbol File Path.。.为
SRV*C:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols; D:/mydriver/objchk_wxp_x86/i386
13.2、设置驱动源文件路径,WinDbg-》File-》 Source File Path…为D:/mydriver
13.3、为了保险起见,我们同时设置系统变量。
My Computer -》 Properties-》 Advanced Tab-》 Enviroment Variables-》
Add._NT_DEBUG_BAUD_RATE=115200
_NT_SYMBOL_PATH=SRV*C:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols
_NT_ALT_SYMBOL_PATH = D:/mydriver/objchk_wxp_x86/i386
_NT_SOURCE_PATH = D:/mydriver
14、启动VMware,将主机目录C:/WINDOWS/Symbols下的拷贝到虚拟机的相同位置。同时请把驱动编译后生成在D:/mydriver/objchk_wxp_x86/i386目录下的*.pdb、*.sys、*.map、*.exp、*.lib文件一并拷贝到两个系统的C:/WINDOWS/Symbols目录中。
15、重新启动VMware,这个时候先不敲回车键。
16、在主机中运行之前设置好的WinDbg快捷方式。直到在WinDbg命令窗口中出现“Waiting to reconnect.。.”,此时打开VMware,敲回车键进入虚拟机。到这里所有的设置工作就全部完成了。
16.1驱动安装及调试,这里其大家注意,由于我们目前用的是虚拟机,所以安装驱动程序的时候一定要把VMware设置到全屏状态。
17、编辑你要调试的源代码,在你需要调试的代码中添加硬断点。如果不添加硬断点,将没有办法进入所调试的程序中。具体方法如下:
在你需要调试的程序中加入以下代码:
extern “C” {
#include
//或者是#include
}//放在文件开头
DbgBreakPoint();//放在需要调试的地方
重新编译驱动程序,记住一定要更新把重新生成的*.pdb、*.sys、*.map、*.exp、*.lib文件一并拷贝到两个系统的C:/WINDOWS/Symbols目录中。
猜您喜欢
- Win7笔记本小技巧:如何关闭触摸板,..2024-04-30
- win7安全证书过期,如何轻松解决?快..2024-04-30
- Win7本本无线网络不显示?这5招轻松解..2024-04-29
- windows7开机密码遗忘?别急,教你轻松..2024-04-29
- Win7电脑锁屏壁纸轻松换,让你的Wind..2024-04-29
- win7电脑开机无法进入桌面?看这里,..2024-04-29
相关推荐
- win7系统移动中心没有无线开关 win7系统..2022-03-15
- 安装Windows 7补丁失败?如何解决!秘密..2023-12-11
- win732和64哪个好详情丨win732和64哪个好..2017-10-12
- Windows 10如何使用系统自带的虚拟光驱..2017-08-27
- win7显卡驱动安装失败怎么办_win7显卡驱..2021-06-23
- Win7系统将WPS文件上传到云端实现永久..2023-02-18