分享

windbg 环境搭建

 红仔哥 2012-03-15
通过网上文章学习,综合而成

1. 下载和安装 Windows 调试工具 (windbg)
http://msdn.microsoft.com/zh-cn/windows/hardware/gg463009

2. 安装最新版的Debugging Tools for Windows 

    就是MS SDK 开发包, 最新的是SDK 7.1 (Microsoft Windows SDK for Windows 7 and .NET Framework 4)
    在安装此SDK开发包时,要把Debug选项选择好,否则有问题
    (如果安装SDK时选择安装了  Debugging Tools, 则不用单独安装windbg)
使用Windbg分析Windows蓝屏具体原因

3. 下载 Windows 符号包
http://msdn.microsoft.com/zh-cn/windows/hardware/gg463028


什么是Windows Symbol Packages?

简单说来就是Windows操作系统本身的各种DLL和EXE的PDB文件包。比如ntdll.pdb, notepad.pdb等。

下载Windows Symbol Packages的须知
1. 应该下载哪个版本的Symbol Packages?
决定性的因素包括:
1. 操作系统本身
2. 操作系统位数
3. Service Pack版本
4. 选用Debug还是Release版本
5. 是否是安腾处理器

就拿XP为例:
假设你使用的是32位XP SP2,并且打算调试Relase版应用程序,那么你应该选择
Windows XP with Service Pack 2 x86 retail symbols, all languages
如果是32位XP SP3,并且打算调试Debug版应用程序,那么你应该选择
Windows XP with Service Pack 3 x86 checked symbols, all languages
此外值得注意的一点是
Windows XP with Service Pack X(XP+SPX) = Windows XP symbols with no Service Pack(纯XP) + Reduced download size: Windows XP Service Pack X(纯SPX)


另外如果是你的操作系统是Windows Server 2003, Windows XP, and Windows 2000, 也可以使用Microsoft Symbol Server而不需要下载Windows Symbol Package。
所谓Microsoft Symbol Server就是一个服务器,如果你指定了他作为Windows Symbol路径,那么在缺少相关的Symbol时,自动去该服务器下载。

Download Windows Symbol Packages
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx
About the Microsoft Symbol Server
http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx#a

4. 动态库替换新的
    用Debugging Tools for Windows安装目录下的dbghelp.dll和symsrv.dll文件覆盖第三方调试工具中所自带的这两个文件——如果有的话,譬如IDA, SoftICE,BoundsChecker,等等。确保这些调试工具中的这两个dll是最新版的。

5. 环境变量_NT_SYMBOL_PATH 设置
设定其值如下(当然如果你的Symbol Package不是安装在C:/Windows/Symbols目录下,请自行修改):
C:/WINDOWS/Symbols/16bit;C:/WINDOWS/Symbols/acm;C:/WINDOWS/Symbol/ax;
C:/WINDOWS/Symbols/cnv;C:/WINDOWS/Symbols/com;C:/WINDOWS/Symbols/cpl;
C:/WINDOWS/Symbols/dic;C:/WINDOWS/Symbols/dll;C:/WINDOWS/Symbols/drv;
C:/WINDOWS/Symbols/ds;C:/WINDOWS/Symbols/exe;C:/WINDOWS/Symbols/iec;
C:/WINDOWS/Symbols/ime;C:/WINDOWS/Symbols/ocx;C:/WINDOWS/Symbols/scr;
C:/WINDOWS/Symbols/sys;C:/WINDOWS/Symbols/tpl;C:/WINDOWS/Symbols/tsp;
C:/WINDOWS/Symbols/wpc;symsrv*symsrv.dll*C:/symserver*http://msdl.microsoft.com/download/symbols
这里最主要的是最后一个路径:symsrv*symsrv.dll*C:/symserver*http://msdl.microsoft.com/download/symbols,它表示如果在之前的路径,以及C:/symserver目录下都找不到所需要的Symbol File,就从微软的Symbol Server上下载之,并把下载下来的Symbol File保存到C:/symserver目录下(我用这个目录是为了和DriverStudio中附带的一个Symbol Retriever工具保持一致。

快速设置路径: 在windbg 启动后 (CTRL+S), 在弹出的窗口里填写路径即可,但这样,symbol表只能windbg使用.最好不是设置

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多