admin 管理员组

文章数量: 887021

0x01 前言

  • Windbg 是微软的正宗调试器,在正常的情况下调试一些程序并没有什么问题,但是如果需要调试分析程序的堆栈,或者是一些特殊的功能时则需要微软的符号文件的支持,所以符号文件是非常重要的,资源已经在结尾分享了

0x02 查找问题

  • 微软现在已经没有了符号文件包可供下载,通通的改为公共符号服务器来下载符号文件,可能是因为版本太多,方便用户而已
  • 但是,尽管微软已经改为符号文件服务器自动下载符号文件,但是 Windows XP 下却下载失败,原因是微软已经停止了符号文件对 Windows XP 系统的支持(前几个月还能用,招呼也不打一下子就停了)
  • 按照原先的方法配置环境变量和 Symbol Search Path 路径
  • 之后输入 !sym noisy 命令(查看细节),然后在输入 .reload 命令重新下载文件,可以看到微软的符号服务器根本没有这个文件
  • 缺少这个 ntdll.pdb 这个文件,只要去网上搜离线的 Symbols 文件下载下来就行了,头疼的是全网真的只有 CSDN 下载有这个文件,而且还收费(最低需要充值 88,才能下载,真的黑),之后翻墙去谷歌搜,第一条竟然还是 CSDN 的下载地址,滑稽
  • 之后经过努力,终于在一个人的分享下得到了 Symbols 文件,安装这个文件,默认设置的路径是 C:\WINDOW\Symbols 这个目录下
  • 之后看错误的信息(!sym noisy),说明首先 Windbg 会检查 C:\symbols\ntdll.pdb… 这个目录下是否有 ntdll.pdb 文件,之后才会从符号文件服务器上去下载
  • 这个文件在这个目录,也就是刚刚下载默认的文件夹
  • 之后在 C 盘新建和错误信息一模一样的路径,再把刚刚的符号文件复制到这个路径就可以了
  • 重新加载就发现可以了
  • 查看堆栈信息,发现成功了

0x03 针对 Windows7 sp1 的离线符号包

  • Windows7 并没有失去微软支持,但是被墙了,所以有的人下载不了…
  • 离线包地址(提取码:o9du)

本文标签: 微软 系统安装 符号 解决方案 文件