zoukankan      html  css  js  c++  java
  • Windows XP sp3 系统安装 Windbg 符号文件 Symbols 时微软失去支持的解决方案

    0x01 前言

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

    0x02 查找问题

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

    0x03 总结

    • 利用 !sym noisy 命令可以清楚发现 Symbols 安装到底在哪里出了问题,文中只是对 ntdll.pdb 文件进行了安装,如果在调试过程中遇到其他问题,也可以用这种方法来解决
    • 还有一个问题就是每次加载都要先设置 Symbols 的路径,这里可以通过设置全局变量 _NT_SYMBOL_PATH 的方式来解决
    • 这个附上资源文件:Windbg+Symbols 安装包(提取码:fvva)
  • 相关阅读:
    xmind 8 readme
    【08】英语词汇速记大全1词根词缀记忆法
    【20180312】2018年03月12日(随想)
    大佬说
    github私有库购买信息
    【01】用构造器创建函数中的小知识
    【01】魔芋使用MDN的一点点经验
    10.12 telnet:远程登录主机
    10.11 arping:发送arp请求
    10.10 traceroute:追踪数据传输路由状况
  • 原文地址:https://www.cnblogs.com/csnd/p/11800535.html
Copyright © 2011-2022 走看看