首页
社区
课程
招聘
[原创]关于WinDbg加载ntdll.pdb符号的一个解决方案
2020-2-28 20:28 7951

[原创]关于WinDbg加载ntdll.pdb符号的一个解决方案

2020-2-28 20:28
7951
一:实验环境:win7 32位,WinDbg6.3(x86) ;
二:问题概述:本人在用windbg堆相关命令时出现报错,显示缺少ntdll.pdb符号文件;于是按照常规操作流程,设置符号加载路径,如下图所示,表示到微软官方去加载符号文件;

结果并未加载成功,显示如下报错信息:

考虑到网络原因,于是开启梯子,继续尝试加载,依然报错,微软服务器总是连接不上,不知道大家有没有遇到这个问题,如果有好的解决方法,还请指点;我在stackoverflow看到一个回答如下:

于是在windbg中先输入"!sym noisy"命令,用于下面提供详细输出信息,然后在输入".reload ntdll.pdb"命令;windbg显示如下信息:

虽然依然没有加载符号成功,但是输出信息中看到一个指向ntdll.pdb的链接地址,用浏览器(开了梯子)访问这条链接,果然成功下载了一个BLOB文件:


将此文件重命名为ntdll.pdb;放到windbg设置的符号寻找路径下;接下来再次设置windbg的本地符号路径:

接下来我们再次输入命令“!heap”,发现之前的报错信息没了,命令正常执行:

结论:操作比较麻烦通过报错信息,得到想要加载符号的真实链接地址,用浏览器直接去下载,在放到本地相应的文件夹中。


阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
免费 0
打赏
分享
最新回复 (4)
雪    币: 4398
活跃值: (1246)
能力值: ( LV7,RANK:113 )
在线值:
发帖
回帖
粉丝
Adventure 2020-2-28 20:49
2
0
设置下环境变量_NY_SYMBOL_PROXY ,可以让windbg下载符合时,自动走梯子的流量
雪    币: 8519
活跃值: (9112)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
编程难 3 2020-2-28 22:14
3
0
这也是个不错的曲线救国的好办法,麻烦点总比没有符号强!
雪    币: 3980
活跃值: (2984)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
Q老Q 1 2020-5-9 18:47
4
0
符号下载    symchk /s srv*c:\symbols*https://msdl.microsoft.com/download/symbols c:\windows\system32\*.dll
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2020-5-10 09:37
5
0
换个代理就好了
其实还是梯子的问题
游客
登录 | 注册 方可回帖
返回