0x00 前言

在使用windbg调试windows中的程序时会经常碰到一些系统的dll里面的一些函数调用,有些函数是没有具体函数名的,这对于调试非常不利,基于此,微软针对windows也发布了很多系统dll对应的符号表,这些符号表如今基本集成在了微软的符号表服务器中,本文简单讲一下如何在windbg中加载符号表。

0x01 配置符号表

首先给一个最常用的方式,要做的工作基本就是先在本地指定的文件目录搜索对应的符号表,如果找不到就连接远程服务器下载,并保存在本地,方便下次使用,如下

.sympath srv*c:\Symbols*https://msdl.microsoft.com/download/symbols

这是对于没有符号表的情况,如果本地本来就有符号表的缓存,但是考虑到windows版本等问题,相同的符号表会不会覆盖等情况,建议使用下面的方法从远程加载新的符号表为本次调试使用

.sympath c:\MyRegularSymbols;srv*c:\MyServerSymbols*https://msdl.microsoft.com/download/symbols

顺利的话在加载完符号表以后需要重新载入模块,命令如下:

.reload

0x02 管理符号表

当调试的东西很多,符号表越来越大的时候,可以使用agestore来管理不常用的符号表,下面举几个例子。

以下命令删除C:\MyDir中2008年1月7日之前访问的文件:

agestore c:\mydir -date=01-07-2008

以下命令将删除目录树中从属于C:\symbols\downstreamstore的所有文件,这些文件在30天内没有访问:

agestore c:\symbols\downstreamstore -days=30 -s

以下命令删除从属于C:\symbols\downstreamstore目录树中大于50,000字节的文件:

agestore c:\symbols\downstreamstore -size=50000 -s

更多的内容可以参考微软官方的文档

0x03 一些问题

符号表设置以后没法加载,或加载失败?

首先检查本地是否真的有网,没问题的话,考虑科学的上网或许可以加速下载,如果还不行,可能就是符号表服务器的问题,这类问题已经多次了。

另外,在排查问题的时候可以尝试使用!sym noisy命令,实时输出调试器加载符号表时候的信息。先运行!sym noisy再运行.reload

windbg加载符号表的更多相关文章

  1. IDA 与VC 加载符号表

    将Windbg路径下的symsrv.yes 拷贝到ida 的安装目录,重新分析ntoskrnl.exe, 加载本地的符号表 添加环境变量  变量名:_NT_SYMBOL_PATH变量值:SRV*{$P ...

  2. 【EF学习笔记08】----------加载关联表的数据 显式加载

    显式加载 讲解之前,先来看一下我们的数据库结构:班级表 学生表 加载从表集合类型 //显示加载 Console.WriteLine("=========查询集合===========&quo ...

  3. 解决VS2012【加载......符号缓慢】的问题

    http://blog.csdn.net/shi0090/article/details/19411777 最近在用VS2012调试时,经常出现"加载......符号缓慢的问题", ...

  4. 解决Visual Studio 加载符号卡死情况

    VS 加载符号 过慢或卡死的情况都可以用这种方法 打开VS的[工具]-[选项]-[调试]-[符号], 如下图所示: 1. 先取消勾选 ”Microsoft符号服务器” 2. 再点击 “清空符号缓存” ...

  5. 在c++运行后出现PDB或者什么巴拉巴拉已经加载符号了的话

    “stl常用排序算法.exe”(Win32): 已加载“E:\vs2015\project\stl常用排序算法\Debug\stl常用排序算法.exe”.已加载符号. “stl常用排序算法.exe”( ...

  6. windbg 加载dump监测蓝屏原因时出现重复的星星框提示解决办法

    加载dump文件出现了重复上边的信息 总结: 要reload一下环境,说明符号库未加载出现的错误,!sym noisy 显示详细信息 ,reload重载符号库,未找到的,从服务器进行下载, 注意,第一 ...

  7. kylin加载hive表错误:ERROR [http-bio-7070-exec-10] controller.TableController:189 : org/apache/hadoop/hive/conf/HiveConf java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf 解决办法

    一.问题背景 在kylin中加载hive表时,弹出提示框,内容是“oops!org/apache/hadoop/hive/conf/HiveConf”,无法加载hive表,查找kylin的日志时发现, ...

  8. 【WordPress】外网访问WordPress时无法加载样式表CSS

    情况: 阿里云ECS服务器,用WampServer搭建的WordPress站点,服务端自身访问该站点时显示正常,但外网访问时不能加载样式表CSS的问题. 重要的参考: https://www.doub ...

  9. VC编译的时候因为加载符号导致编译过程异常缓慢的处理

    之前调试console程序用了一下Ctrl+C,弹出的异常处理选择框自己点了什么忘记了,结果之后再调试,发现特别慢,最下面一直在走着一系列dll的加载符号.让我特别二呼的是断网的话就没事了,联网就一直 ...

随机推荐

  1. TaskContinuationsOptions.ExecuteSynchronously探秘

    TPL - Task Parallel Library为我们提供了Task相关的api,供我们非常方便的编写并行代码,而不用自己操作底层的Thread类.使用Task的优势是显而易见的: 提供返回值 ...

  2. 阿里云openssl升级,实现nginx主动推送,nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度

    现有版本检查 [root@node3 ~]# openssl version               #这个版本是无法支持http2.0主动推送功能.需要升级为2019版本. OpenSSL 1. ...

  3. 开始使用 TypeScript 和 React

    原文地址:Getting started with TypeScript and React 原文作者:Jack_Franklin 译者:luxj 校对者:veizz Tom Dale 和其他人有一些 ...

  4. Docker跨主机通信(九)

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...

  5. maximo入门----用户使用提要

    其实七月初就知道自己要做maximo了,但是那个时候

  6. SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!

    大家都知道okhttp是一款由square公司开源的java版本http客户端工具.实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http ...

  7. C++解析XML的通用库

    工作中,经常和XML打交道,最近抽空实现了一个通用解析XML的库,已归档在GitHub,详情点击:ComXmlLib.如果您无法访问GitHub,点击此处下载(链接是初版,无法和GitHub同步,如需 ...

  8. iOS14 debug安装的带有flutter应用从桌面图标重新启动时闪退

    刚刚升级遇到的问题,希望能够帮助到遇到相同问题的人. 用xcode12连接iOS设备调试安装应用 拔掉数据线 从桌面图标点击进入App必闪退 后来发现是flutter的原因,目前有下面两种个解决方案: ...

  9. Maven依赖管理之BOM

    目录 什么是BOM 一个BOM的格式 怎么使用BOM 通过parent引用 通过dependencyManagement引用 怎么查看依赖的某个BOM的具体清单 版本冲突时的一些规则 何为依赖调节 参 ...

  10. Python-生成器函数(协程实现底层原理)-yield

    yield 1. 函数执行的时候,找到yield关键字,则会标记这个函数,返回生成器对象 2. Python解释器会记录最近一次函数中yield位置 3. 生成器对象也是分配在栈堆上 4. 通过yie ...