首页
社区
课程
招聘
未解决 [分享]WinDbg安装配置指南
发表于: 2019-12-31 10:42 8645

未解决 [分享]WinDbg安装配置指南

2019-12-31 10:42
8645

WinDbg安装

Windows SDK安装方式

先在xp系统下安装.net4.0,之后再安装sdk工具,因为sdk工具需要.net框架。

缘由,在以前安装 Debugging Tools v6.11 或更早的版本时,可以在如下地址直接获取 Debugging Tools 的安装程序:http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx 从 v6.12 开始,我们点击这个链接后会被自动重定向至:http://msdn.microsoft.com/en-us/windows/hardware/gg463016 提示我们下载包含有 Debugging Tools v6.12 的Windows SDK v7.1 在线版安装程序:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279 Windows SDK 提供了一系列供开发人员使用的工具、编译器、标头、资源库、代码样本及用户帮助文档。如果我们无需开发、只需要 Debugging Tools,可以在下载运行 Windows SDK v7.1 在线版安装程序后,在安装组件列表中只选择 Debugging Tools,其它什么也不选。这样不仅可以节省在线安装的下载时间、也可以避免安装不需要的开发工具占用硬盘空间。我们可以在 Windows SDK v7.1 安装程序组件列表的两个分支看到 Debugging Tools 安装选项,第一个是 Common Utilities 分支下的 Debugging Tools for Windows,第二个是 Redistributable Packages分支下的 Debugging Tools。选择前者可以令安装程序检测 CPU 硬件类型并自动下载对应 Debugging Tools 的 x86、x64 或 Itanium 版,选择后者则可以令安装程序下载 Debugging Tools 的 x86、x64 及Itanium 全部三个版本。安装完毕后,我们即可通过开始菜单中自动生成的 Debugging Tools v6.12 快捷方式启动 WinDBG.EXE。假如我们之前安装过 Debugging Tools v6.11 或更早的版本,Windows SDK v7.1 安装程序也可以将其自动升级为 Debugging Tools v6.12 版。

单独安装包安装方式

如果能下载到单独的安装包文件,也可以直接下载单独的安装包,直接安装即可,如图是WinDbg6.12版本。


符号文件安装

pdb是什么?程序数据库是一种专有文件格式,用于存储有关程序的调试信息。pdb文件通常具有.pdb扩展名,通常在编译期间从源文件创建pdb文件。它将所有符号的列表及其地址(可能还有文件名和声明符号的行)存储在模块中。该符号信息不存储在模块本身中,因为它占用了大量空间。


符号文件(pdb)是针对被调试系统而言,如果被调试的系统是xp,那么应该下载和安装xp的符号文件,如果被调试的系统是Win7,那么应该下载和安装Win7的符号文件,不同系统对应的符号文件是不同的,一定要匹配。


举例,在笔者的配置中,VMware中安装的是xp系统,在xp系统环境下进行调试,所以应该下载xp的符号文件。


符号文件的下载地址:http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx



当然,目前已经无法下载离线符号文件包了,只能通过在线方式进行下载。


如何配置WinDbg符号?

可以在运行WinDbg->菜单->File->Symbol File Path->在弹出的框中输入“C:\MyCodesSymbols;SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”


按照上面的设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找符号文件,如果找不到,则自动从微软的符号文件服务器上下载对应的符号文件,上面的C:\MyCodesSymbols用户可以改为其他任意位置。


还可以设置系统的环境变量:计算机 -> 属性 -> 高级系统设置 -> 环境变量,在系统环境变量中添加一个新的环境变量_NT_SYMBOL_PATH。

_NT_SYMBOL_PATH=SRV*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols


上面的C:\WINDOWS\Symbols可以改为其他的目录(C:\WINDOWS\Symbols是离线符号文件包默认安装目录)。


关于微软已经停止了符号文件对 Windows XP 系统的支持?https://bbs.pediy.com/thread-256962.htm这个结论是错误的,笔者经过本地实验,WinXP Pro sp3 版本2002可以在线下载对应的符号,之前在不同系统下载对应符号时无法成功的原因还是因为网络不通,如图。



所以就简单在本地配置下上网环境,如下图。




配置好了后,在系统里能访问一个站点说明系统里的网络通了,如下图。



上述准备工作完毕后,就可以使用WinDbg命令加载符号了。

.symfix C:\Program Files\Debugging Tools for Windows (x86)\symbols\ 修正本地的符号配置


之后会自动生成如下配置内容:

SRV*C:\Program Files\Debugging Tools for Windows (x86)\symbols\*http://msdl.microsoft.com/download/symbols

.sympath C:\symbols //安装目录



输入 !sym noisy 命令(查看符号文件下载期间的细节),然后在输入 .reload 命令加载需要的符号文件。

eloading current modules
................
SYMSRV:  WinInet Interface using proxy server: socks=192.168.31.74:1080 https=192.168.31.74:1080 http=192.168.31.74:1080 ftp=192.168.31.74:1080
SYMSRV:  ntdll.pdb from http://msdl.microsoft.com/download/symbols: 1117184 bytes - copied         
DBGHELP: ntdll - public symbols  
         c:\program files\debugging tools for windows (x86)\symbols\ntdll.pdb\CEFC0863B1F84130A11E0F54180CD21A2\ntdll.pdb



下WinExec断点也会自动下载kernel32符号文件,如图。



断点执行成功,如图。



比较签名是否相同命令:!itoldyouso ntdll C:\symbols\dll\ntdll.pdb


目前符号已经配置完毕,可以正常调试。


最后真的非常感谢@cavan@柒雪天尚@lmwjt@xiangcboy@Flyour@bjtwokeight@cvrock小伙伴们的回答!


单独WinDbg6.12安装包(x64&x86可用)与离线符号文件包(经本地测试与win_xp_sp3环境不匹配,建议不使用)

https://pan.baidu.com/s/18kXlY7WKhaE7S5VnSLR-1Q

提取码:fvva


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-12-31 10:53 被jishuzhain编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (16)
雪    币: 293
活跃值: (239)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
下个符号还得搭个梯,真累。
2019-12-31 15:46
0
雪    币: 17428
活跃值: (5009)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
3
cavan 下个符号还得搭个梯,真累。
唉,不知道为啥就给墙了。
2019-12-31 16:36
0
雪    币: 338
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
大佬问下win7上也下载不了符号要怎么设置?我虚拟机上的xp按照您的设置没办法连得上网
2019-12-31 20:52
0
雪    币: 338
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看到了,原来还是得搭梯子
2019-12-31 21:07
0
雪    币: 688
活跃值: (3747)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
太好了
2020-1-7 17:22
0
雪    币: 2710
活跃值: (1848)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
几个月前明明还能下的,真是太难了
2020-1-8 10:46
0
雪    币: 17428
活跃值: (5009)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
8
乐活 几个月前明明还能下的,真是太难了
只能多想想办法了呢
2020-1-8 11:12
0
雪    币: 17428
活跃值: (5009)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
9
appview 太好了[em_63]
嘿嘿
2020-1-8 11:12
0
雪    币: 17428
活跃值: (5009)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
10
helloDalao 看到了,原来还是得搭梯子
是的呀,多想想办法
2020-1-8 11:12
0
雪    币: 173
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
谢谢楼主 学到了
2020-1-8 12:48
0
雪    币: 688
活跃值: (3747)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
按照楼主说的方法,XP系统还是无法下载符号文件,WinDbg提示无法与服务器建立连接,但是IE都能访问谷歌了啊
上传的附件:
2020-1-18 00:15
1
雪    币: 688
活跃值: (3747)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
Win10可以正常下载符号文件了
2020-1-18 00:17
0
雪    币: 688
活跃值: (3747)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
微软服务器上XP系统符号确实存在,应该是我的代理有问题
上传的附件:
2020-1-18 00:33
0
雪    币: 0
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
困扰很久了,终于win10下可以下载到符号了。专程登录感谢下楼主
2020-3-18 09:56
0
雪    币: 23
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
你们在哪搞的梯子?
2020-3-19 17:34
0
雪    币: 995
活跃值: (69)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17

大佬。。。这个梯子怎么搭啊?那个服务器不会搭啊

最后于 2020-8-1 00:29 被evwel编辑 ,原因:
2020-8-1 00:11
0
游客
登录 | 注册 方可回帖
返回
//