安装与配置 windbg 的 symbol (符号)

第一步 下载WinDBG

请通过此链接下载Web安装版的Windows SDK:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en

并在安装时清除所有组件的安装复选,并勾选“Debugging Tools for Windows”选项前的复选框进行安装。

另外,也可以通过在以下链接下载以前版本的windbg工具:

http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

http://msdn.microsoft.com/zh-cn/windows/hardware/gg463016中文路径

win8:http://msdn.microsoft.com/zh-cn/windows/hardware/bg127147,再直接选

获取独立的调试工具(通过 Windows 8.1 SDK)

(仅英文)

您将需要检查是否有 WinDBG 更新版本,因为该小组似乎具有相当紧凑的发布日程安排,并且每隔几个月就会发布更新版本。

下载对应的symbol包:

XPSP3的:http://msdl.microsoft.com/download/symbols/packages/windowsxp/WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe
其它系统:http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx#d(要下载retail版本,不要下checked)

下完了解包到C:\WINDOWS\Symbols里(当然你也可以换任意位置),然后WINDBG里符号路径可以这样设置:C:\WINDOWS\Symbols;
SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols

第二步 双击下载的文件安装 windbg .安装时注意记住安装到那里了.

第三步 windbg 访问符号需要两个文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主 path 环境变量中它们的路径进去,即:你的 windbg 安装目录.

操作方法:在桌面我的电脑点右键--属性--高级--环境变量,在系统变量列表框中找到 path 双击,在变量值最后面加一个分号再把你的安装目录写上.点确定. 
这一步是告诉 windbg 那两个文件放在什么地方.

第四步 新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

操作方法:桌面我的电脑点右键--属性--高级--环境变量 ,点击新建,把上面的变量名和变量值填上.这一步的意思是说告诉 windbg ,我的符号文件存放在c:\mysymbol 中(当然其实里面什么也没有,甚至这个文件夹也不存在,不过没关系,系统找不到的话会给你创建一个,并在上面的网址中去帮你下载符号文件放在里面)

第五步 运行 windbg 打开一个exe文件或者附加到一个进程里去, 你会看到 Symbol search path is: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

打开c盘看到有一个新目录 mysymbol,里面有 windbg 新下载的文件.

这样就差不多了,测试一下。选“内核调试-本地内核调试”,输入dt _EPROCESS,如果能列出EPROCESS结构则说明成功了。

还有一点要说,如果想使用用户态的符号,要再加上一句C:\WINDOWS\Symbols\dll;,如果安装了360,还要关闭360的自我保护(单纯地退出360是不行的),可以在“木马防火墙-设置-保护360产品”下关闭,接着本地内核调试,要先输入.reload(不reload无法使用用户符号),如果出现以下字样就说明成功了(不关闭360自我保护会失败):
lkd> .reload
Connected to Windows XP 2600 x86 compatible target at (Mon Nov  1 09:36:58.439 2010 (GMT+8)), ptr64 FALSE
Loading Kernel Symbols
...............................................................
................................................................
...
Loading User Symbols
......................................
Loading unloaded module list
................

再来测试一下,输入u user32!ValidateHwnd(注:ValidateHwnd是user32.dll里一个未导出的函数),应该可以看到类似下面的输出:
lkd> u user32!ValidateHwnd
USER32!ValidateHwnd:
77d184e0 64a118000000    mov     eax,dword ptr fs:[00000018h]
77d184e6 85c9            test    ecx,ecx
77d184e8 740c            je      USER32!ValidateHwnd+0x19 (77d184f6)
77d184ea 3b88f4060000    cmp     ecx,dword ptr [eax+6F4h]
77d184f0 0f84c6090100    je      USER32!ValidateHwnd+0x12 (77d28ebc)
77d184f6 b201            mov     dl,1
77d184f8 eb26            jmp     USER32!HMValidateHandle (77d18520)
77d184fa 90              nop

这样内核符号和用户符号就都能用了~
    还有一点要说,可能因为用户符号太多,如果加载了用户符号之后再使用dt命令查结构会是WINDBG进入“*BUSY*”状态,失去响应,这点要注意

http://www.m5home.com/bbs/forum.php?mod=viewthread&tid=4596

6.windbg-windbg环境相关推荐

  1. windbg调试环境变量记录

    _NT_SYMBOL_PATH = srv*f:/Symbols*http://msdl.microsoft.com/download/symbols

  2. 中小研发团队架构实践之生产环境诊断工具WinDbg

    生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序 ...

  3. Windbg dump分析 学习总结

    Windbg核心调试之dump分析 http://www.pediy.com/kssd/pediy08/pediy8-428.htm 标 题: Windbg核心调试之dump分析 作 者:Lvg 时 ...

  4. windbg 查看结构体_用WinDbg进行调试

    通往WinDbg的捷径(一) windbg的使用详细: http://wenku.baidu.com/view/f576c31e650e52ea55189832.html 导言 你钟情什么样的调试器? ...

  5. Windbg SOS and CLR版本不一致的解决方案

    由于测试服务环境与Windbg运行环境的差异,这就可能出现Windbg在分析dump文件时.net sos.dll和mscordacwks.dll版本不一致问题,从而导致windbg调试器的扩展命令无 ...

  6. win10 x64中 windbg x64 安装配置符号库

    根据系统安装好x64版本,我的系统是win10 x64 ; windbg下载地址 https://developer.microsoft.com/zh-cn/windows/hardware/down ...

  7. Windbg调试学习

    一.为什么学习使用Windbg调试 Windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较 ...

  8. windbg调试驱动学习总结

    简单驱动编写与windbg调试 http://trustsec.blog.51cto.com/305338/64694/ 一.驱动编写 随着对windows系统的深入研究,越来越多的内核方面的知识被挖 ...

  9. WinDbg 本地调试和远程调试相关内容

    文 1 实现WinDbg本地调试 文 2,3实现WinDbg远程调试App ============================================================== ...

  10. Windbg/x64dbg/OllyDbg调试器简介

    原文链接: https://blog.csdn.net/libaineu2004/article/details/104081676 一.Windbg Windbg是微软开发的一套调试器中的组件.Wi ...

最新文章

  1. 移植uboot第四步:设置NAND启动
  2. oracle分库分表原理_02. MyCat 的原理,应用场景,分库分表的思想
  3. php 去年年初和年底时间,PHP 日期与时间
  4. Python全栈开发之并发编程
  5. Django Python Web应用程序框架简介
  6. OpenGL 学习 显示列表
  7. 数据结构知识点大汇总(八)
  8. 如何准备数学建模竞赛?数学建模方法!备战国赛
  9. FastFDS--文件服务系统
  10. C语言 输出字母倒三角形
  11. OutMan——C语言中字符串处理函数、内存管理和内存分区
  12. 详细理解script标签
  13. 中学计算机教师人生职业规划,初中教师个人职业发展规划
  14. Excel图表—波士顿矩阵分析图(四象限图)
  15. 【赛鱼电竞】用王者荣耀免费改名卡改名和王者荣耀怎么修改昵称及王者荣耀改名卡免费修改昵称方法教程
  16. angr分析程序的控制流图CFG
  17. 2018秋招面试经验(测试开发、产品)
  18. 全球及中国ICP-OES光谱仪行业产销需求与投资前景预测报告2022~2027年
  19. 基于springboot的药店进销存管理系统
  20. 详解element-ui设置下拉选择切换必填和非必填

热门文章

  1. 游戏AI车辆(Auto Mobile City)项目开发日志(2021.10.18)
  2. NOI Online2022 入门组题解
  3. NAXX Demo3_JSQ_03
  4. Python调用Linux终端命令---转自本人的私人博客
  5. 大数据原生集群本地测试环境搭建三
  6. 卷积的意义(幽默解释)--转
  7. Java使用POI获取Excel公式
  8. Alamps学习设计模式之备忘录模式(笑话:劫个色OR抢个鸡蛋版)
  9. windows被迫重装系统| 数据恢复 | 启动盘 PE盘 | 批量软件安装
  10. nslookup命令详解和实战例子(全)