2024年5月4日发(作者:)
心里总感觉 SOFTICE 的发展快到末路了。果然在 2006 年时Compuare 宣布停止 SOFTICE
开发。这里消息确实令很多人心痛。但与此同时,Windows 的配套调试器 windbg , cdb 等
不断更新,功能不断强大,你必须选择它,虽然它内核调试速度不理想。后来我知道了 syser
debuger, 国人写的不错的调试器,基本上 SOFTICE 命令等相似,上手很快,单机调试即可,
速度挺快。但是要开发windows 内核程序,最好还是 windbg,至少 windbg 与系统的兼容
肯定不会差吧。因为我自己的机器配置不高,所以平时玩的时候就用 syser , 但在公司真正
解决问题时还是用 windbg。windbg 除了速度慢点(还能忍受,现在我公司的机器是AMD双核
的),还有就是初次使用配制比较麻烦,你如果真实的使用 2 台机器调试那问题可能会更多。
我每次重装系统后,都要上网找资料然后一遍遍配制挺烦人的,这次总结一下。
首先,先下载
/download/symbols/packages/windowsxp/WindowsXP-KB835935
-?符号表,然后安装到真实系统中。
再下载
/download/symbols/debuggers/dbg_x86_?WinDbg
程序的最新版本,同样也安装到真实系统中。
接下来我们要在虚拟机中装系统了,我用的是WinXP SP2。安装完成后修改文件。
在里面[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",然后下一步,第一框里保持默认的 ".pipecom_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 FilesDebugging Tools for " -y C:WindowsSymbols -b
-k com:port=.pipecom_1,baud=115200,pipe
这里面-y后面的路径就是我们前面安装符号表的路径。
使用时,首先运行虚拟机系统,到bootloader选择进入哪个系统的时候,我们先按一下上下,
将倒计时停止。然后再到真实系统中运行刚才我们创建的WinDbg快捷方式。运行完成后再在
虚拟系统中选择带有调试标志的系统即可。此时回到真实系统,稍等一会就可以看到WinDbg
输出信息告诉我们两个系统已经连接上了。到此调试器已经和VMware 虚拟机连接成功了,
下面就可以进行期待已久的调试工作了。
原文地址:
/china/CTC/Newsletter/newsletter200412/
微软中国技术中心在帮助国内硬件厂商开发驱动程序和获得 DESIGHED FOR WINDOWS徽标时,
发现有些开发驱动程序的工程师没有利用windbg这个功能强大的调试工具,所以本期特别向
读者介绍调试工具Windbg。
前言
绝大多数在Windows平台上研发软件的工程师都非常熟悉Microsoft Visual Studio, Visual
Studio方便友好的界面,强大的调试功能大大提高了工程师的工作效率和产品质量。Visual
Studio一般用于user-mode的程序开发,对于调试kernel-mode的驱动程序,微软提供了另
一个功能强大的调试工具Windbg(windbg也可以用于调试user-mode的程序),开发人员可以
从网上免费下载(/whdc/devtools/debugging/),微
软中国技术中心在帮助国内硬件厂商开发驱动程序和获得 DESIGHED FOR WINDOWS徽标时,
发现有些开发驱动程序的工程师没有利用windbg这个功能强大的调试工具,所以本期特别向
读者介绍调试工具Windbg。
简介
Windbg可用运行于基于X86, Intel Itanium, or AMD64 处理器的机器上,可以运行在所有
基于NT的操作系统上,可以调试这些操作系统本身和运行于其上的应用程序,服务,驱动程
序。这里所说的基于NT的操作系统包括:
Microsoft Windows NT? 4.0
Microsoft Windows? 2000
Microsoft Windows XP
Microsoft Windows Server? 2003
Microsoft Windows codename "Longhorn"
Windbg源码级调试使用和Microsoft Visual Studio相同的Symbol格式,Windbg可以查看
源代码,设置断点,查看变量,内存,堆栈。需要特别指出的是,Kernel-mode调试需要两
台计算机,一台作为主机(host),另一台作为目标机(target)。Windbg还支持远程调试。
发布评论