您的位置:首页 > 其它

[转载]利用VMWare和WinDbg调试驱动程序

2008-11-01 13:57 190 查看
 也许很多人早就知道了,但是我不知道,以前一直抓住softice大腿不放,但是由于在我的Hyber
Thread处理器上,Softice实在是运行的太不理想了。故而只能利用WinDbg了。不过听牛人说过,WinDbg可以把内核的全部结构都显示出来,要比Softice强。等我以后测试看看。
首先,最好先下载http://msdl.microsoft.com/download/symbols/packages/windowsxp/WindowsXP-KB835935-SP2-slp-Symbols.exe
符号表,然后安装到真实系统中。
再下载http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.5.3.8.exe
WinDbg程序的最新版本,同样也安装到真实系统中。
接下来我们要在虚拟机中装系统了,我用的是WinXP SP2。安装完成后修改boot.ini文件。在里面[operating
systems]节中加入一行,
" multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP
Professional - debug" /fastdetect /debug /debugport=com1 /baudrate=115200
"
随后关闭系统。配制虚拟机的硬件,点击 "Edit virtual machine settings",添加一个Serial
Port,选择"Output to named pipe",然后下一步,第一框里保持默认的 "//./pipe/com_1"
第二框里选"This end is the
server."
第三框里选"The other end is an application."
选中 "Connect at power
on"
然后点击 "Advanced>>" 然后在新窗口中选中 "Yield CPU on poll"。保存退出。
好了,以上就是虚拟机系统要做的全部事情。
在真实系统中,我们要在设备管理器中。找到Com1口,然后再属性页中修改他的速率为115200。
然后为使用方便,创建一个WinDbg的快捷方式。快捷方式的命令行为
"C:/Program Files/Debugging Tools for Windows/windbg.exe" -y C:/Windows/Symbols/ -b -k
com:port=//./pipe/com_1,baud=115200,pipe
这里面-y后面的路径就是我们前面安装符号表的路径。
使用时,首先运行虚拟机系统,到bootloader选择进入哪个系统的时候,我们先按一下上下,将倒计时停止。然后再到真实系统中运行刚才我们创建的WinDbg快捷方式。运行完成后再在虚拟系统中选择带有调试标志的系统即可。此时回到真实系统,稍等一会就可以看到WinDbg输出信息告诉我们两个系统已经连接上了。剩下的事情吗,当然是调试,我还没做。。。呵呵。去调试了。

好累,吭哧吭哧敲了半天

"要饭"提示:蓝色的地方要改成本地Symbols的安装路径.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: