本文为在学习过程中的笔记,写的不好请见谅.
在调试内核驱动程序时,驱动程序被操作系统加载.而操作系统无法自己调试自己.所以要用一台计算机调试另一台计算机的操作系统,进而调试内核驱动.
使用windbg对虚拟机中的操作系统进行调试之前,要先配置windbg和虚拟机,这里用的windbg为WDK7.1中自带的.
设置不隐藏受保护的系统文件,并显示所有隐藏文件和文件夹,点击确定
打开boot文件,复制
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional Debug” /noexecute=optin /fastdetect /noexecute=alwaysoff /debug /debugport=com /baudrate=115200
到boot文件中
这里要注意:/debugport=com这条设置,如果你的WDK是7.1以下版本,请设置为/debugport=com1或者/debugport=com_1,反正不同版本这个/debugport的值设置不一样,如果不能连接,请把每一个都试遍,这里我用的是官方的7.1,经过测试这里要设置为/debugport=com才能正常连接.
保存后关闭文件,重新启动虚拟机中的xp系统,此时在启动界面会多出一个启动项
到此虚拟接设置完成,下面开始windbg设置
首先将windbg的安装目录配置到环境变量中
这里我的操作系统是win7,计算机-属性-高级系统设置-高级-环境变量-Path-编辑
在最后加入windgb的安装目录,点击确定
新建一个环境变量
变量名: _NT_SYMBOL_PATH
变量值:SRV*d:\symbol*http://msdl.microsoft.com/download/symbols
其中d:\symbol为符号下载的目录,请自行设置
新建一个windbg快捷方式,右键点击windbg快捷方式-属性,在目标栏最后添加以下命令行参数
-b -k com:port=//./pipe/com_1,baud=115200,pipe
windbg配置完成.
打开虚拟机,在启动项时选择,启动调试程序.之后打开刚才新建的windbg快捷方式.
此时,可以看到windbg中已经触发int 3断点.输入g命令,虚拟机中的xp系统则开始运行