WinDbg是微软发布的一款免费而十分强大的源码级(source-level)调试工具,既然是微软自己发布的调试工具,那它对微软产品的调试当然是十分的强大!
MS网站上的windbg调试工具是要附带SDK环境的。而且已经很多不能下载了,我的开发环境是VC6,有没有单一的Windbg提供下载的,windbg单独版!
WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件,能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏、程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率。
运行WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH变量:
在弹出的框中输入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)。另一种做法是从这个Symbol下载地址中http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx,下载相应操作系统所需要的完整的Symbol安装包,并进行安装,例如我将其安装在D:\WINDOWS\Symbols,在该框中输入“D:\WINDOWS\Symbols”。(这里要注意下载的Symbols的版本一定要正确,在我的Win2003+Sp1上,我曾经以为安装Win2003+Sp2的Symbols可能会牛×点,但结果证明我错了,用WinDbg打开可执行文件时,提示“PDB symbol for mscorwks.dll not loaded;Defaulted to export symbols for ntdll.dll”的错误,我有重新装上Win2003+Sp1的Symbols, 现在一切运行正常^_^)

到这里,可能会发现没有其它窗口。但其实,只要你点击对应的窗口按钮(上图红色方框圈着的区域),工作区就会出现相应的窗口。
WinDbg有好几个窗口,功能跟OllyDbg的差不多。窗口的名称与用途如下:
名称 热键 用途
Command Atl+1 输入命令、显示命令结果和调试信息输出
Watch Alt+2 观察指令全局变量、局部变量和寄存器的信息
Locals Alt+3 自动显示当前函数的所有局部变量
Registers Atl+4 观察和修改寄存器的值
Memory Alt+5 观察和修改内存数据
Call Stack Alt+6 栈中记录的函数调用序列
Disassembly Alt+7 反汇编
Scratch Pad Alt+8 白板,可以用来做调试笔记等
Processes and Threads Alt+9 显示所有调试目标的列表,包括进程和线程等
Command Browser Alt+N 执行和浏览命令
在弹出需要的窗口后,就可以对窗口进行排列。通过鼠标拖曳窗口或结合右击窗口标题选择Dock(停靠)和Always floating(保持浮动),可以把窗口摆放成最适合我们工作的位置。
不知道是不是我自己的问题,本来想着把窗口排列成跟OllyDbg的界面类似,可怎么弄也达不到目的,最后也就选择了两个我最常用的窗口(Disassembly和Command),然后上下摆放。就像:
各位如果有摆放窗口的诀窍,麻烦也告之一下….
刚才也说过,WinDbg是一款很强大的源码调试工具。如果我们有程序的源码的话,一般可以生成它的符号文件。而在用WinDbg进行调试时,因为WinDbg本身不会自动识别符号文件,所以需要我们设置。
可以通过打开菜单 File Symbol File Path 和 File Source File Path,打开对应的对话框进行设置。

可以直接在Source path编辑框输入目录,也可以通过按钮Browse进行选择。多个目录之间用分号隔开。
到这里,可能有人有疑问。符号文件是什么?为什么我们以前用OllyDbg时不用设置符号文件?
其实我接触到这里的时候也十分的迷惑,甚至当时以为WinDbg只能调试有源码的文件。但后来,通过试验,逐步清楚了。
按我理解,符号就是用来标识程序的某个函数、变量或标记的东西。例如,通过载入有源代码和程序符号的目标文件,就可以轻松的使用 bp WinMain(我用来测试的程序的主函数)和bp 函数名(程序里的某个函数)。
那如果没有源代码怎么办?那只好使用微软的公共符号库。所谓公共符号库,可以理解成WinDbg对某些微软的系统函数(例如MessageBoxA)的识别,就像OllyDbg能够识别出MessageBoxA一样。虽然WinDbg能够识别出这些系统函数,但却显示的不明显(到后面会接触到)。
要设置公共符号文件,只需在设置符号文件的编辑框里输入路径即可。一般的输入形式为:
SRV*g:\symbols*http://msdl.microsoft.com/download/symbols
意思大概就是从http://msdl.microsoft.com/download/symbols的地址里下载符号到g:\symbols(自己设置用来保存符号的目录)。然后设置完可以使用 .reload 命令WinDbg重新加载新的符号文件。具体的用法可以参考WinDbg的帮助文档。
WinDbg提供了图形界面和命令行两种运行方式。这里介绍使用图形界面的WinDbg来调试应用程序:
File->OpenExecutable->可以选择一个可执行文件进行调试;
File->Attache to a Process->可以选择一个运行中的进程,并对其进行调试;
至此,我们就可以在上图中用红色方框标记的文本框中输入各个功能指令了(有关指令的帮助文档,可以参考:Help->Contents->Debugging Tools for Windows->Debuggers->Debugger Reference,该目录下列集了所有指令机器功能说明!)。

开发者其他应用

七猫免费阅读小说最新版41.6M234049人在玩七猫免费阅读小说下载安装app,七猫免费阅读小说app不一样的小说阅读神器,这里有着海量丰富小说应用资源,你想看的小说通过强大搜索引擎一键搜索即可,主要的是阅读小说还能够获取红包现金奖励哦。
下载
奇热漫画app安卓版25.5M13451人在玩奇热漫画是一款非常不错的漫画阅读软件,具有很多强大的阅读功能,奇热漫画app实时为你更新全网最新最热的动漫资源。平台拥有海量精彩漫画,官方正版漫画
下载
奇热小说app24.8M234499人在玩安卓奇热小说app是专为众多爱看小说的人士提供的手机看小说的软件,省流量极速免费看小说,海量热门小说任你看,喜欢小说的小伙伴不要错过,赶快下载奇热小说网手机版客户端体验吧
下载
2022快看漫画App最新版69.0M51448人在玩2022快看漫画,相信许多玩微博的小伙伴们都已经知道这款APP了。吵架归吵架,至于这款快看漫画App到底做得怎么样,只有试过才知道!
下载
豆瓣阅读客户端app70.2M9579人在玩豆瓣阅读app是一款为豆瓣的用户们量身定做的APP,在豆瓣阅读这里你可以看到更加符合豆瓣用户喜好的各类文字作品,而且目前书籍依然在持续增长中。
下载
追书神器官方版70.1M19679人在玩追书神器2022最新版是一款超级强力的小说导读助手,目前几大热门的小说连载网站均有关联,你可以通过它方便地寻找自己喜欢的书籍。
下载
腾讯动漫71.9M13609人在玩腾讯动漫寒假档,许多大人们认为动漫就是小孩子看的东西,但是大概从80后开始,动漫就成为了许多人生活中的一部分,如果你喜欢看动漫,可以来腾讯动漫吧,这里有最新动漫更新视频
下载
书旗小说免费版本32.7M22553人在玩书旗小说免费版下载安装,书旗小说免费版本是一款以书旗网海量小说为基础的在线/离线阅读器,集合在线阅读、本地阅读、书包下载、自动书签、智能搜索、阅读设置等多项人性化功能。
下载
搜狗阅读器app19.5M6809人在玩搜狗阅读是搜狗公司依托于搜狗搜索的丰富资源,为安卓用户打造的移动阅读应用产品。搜狗阅读海量图书即搜即看,新闻大事掌握在手,更有离线缓存、精品推荐、更新提醒等功能,让您随时随地享受阅读的快乐。
下载
起点读书app新版本202237.2M11875人在玩起点读书app新版本,又名起点看书,是起点中文网推出的一款阅读软件。它支持本地阅读并提供起点在线书库,具备多种格式的解析阅读功能
下载