分类
大小:34.3M更新:2015-01-15
类别:编程辅助系统:WinAll,Win7
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,该目录下列集了所有指令机器功能说明!)。
asic ii 对照查询器编程辅助.04M7.0 绿色版
查看Dr.Explain 软件说明文档撰写工具编程辅助Mv4.0.418 英文特别版
查看Python 程序转化成exe(py2exe)编程辅助.34M0.6.9 官方安装版(py2.7)
查看iCAN测试工具iCANTest编程辅助MV2.10官方版
查看小西编码一键转换编程辅助.01MV1.0绿色版
查看开发者神器库6(国产HTTPS抓包改包工具)编程辅助M正式版
查看雨田单元测试系统编程辅助Mv2.2.3官方最新版
查看获取调试信息(仿DebugView小工具)编程辅助.23MV1.0.0.1绿色版
查看Zend Studio 12.5.1 x86 x64通用补丁编程辅助.02M最新版
查看x86指令集汇编仿真软件(Emu8086)编程辅助Mv4.08r 英文注册版
查看串口调试助手带其他小工具源程序编程辅助.22MV1.0绿色版
查看RCX-Studio雅马哈编程软件编程辅助Mv1.1.0 官方版
查看DevComponents DotNetBar编程辅助Mv14.1.0.35最新版
查看野兔谷日志宝编程辅助Mv3.1.2.0 绿色版
查看中维世纪JVS-C890卡SDK编程辅助MV5.0.0.3二次开发版
查看终端仿真器 SecureCRT编程辅助Mv7.1.1.264 最新版
查看吾爱破解安卓工具箱编程辅助Mv1.0 绿色免费版
查看代码片段管理工具CodeExpander编程辅助Mv2.7.9 官方版
查看Java 开发工具集(Jodd)编程辅助M3.6.6 开源版
查看小米app应用检查更新SDK编程辅助.09MV0.7官方最新版
查看雨田不可达语句检测工具(ufinder)编程辅助M0.95官方版
查看PDF.NET集成开发工具编程辅助MV4.1 官方最新版
查看多浏览器测试分析软件BrowseEmAll编程辅助Mv9.5.3 官方版
查看Eugenio调试器编程辅助M
查看点击查看更多