当前位置: 首页 > news >正文

使用windbg分析dump文件的方法

https://zhuanlan.zhihu.com/p/613434365

一般操作如下:

  • 准备工作。
    • 打开dump文件。
    • 指定符号表文件的路径。
    • 指定可执行文件的路径。
    • 指定源码文件的路径。
  • 在windbg的命令行,输入并执行如下命令
    • .reload,重新加载前述数据文件。
    • !analyze -v,分析dump文件。
    • kbn,得到崩溃时的调用栈信息。
    • .ecxr,打开栈顶关联的源码。

其它

  • 如何安装windbg?
    当前windbg整合在了Windows SDK里,所以可以通过访问windows-sdk,通过下载、安装Windows SDK来安装windbg。
  • 如何生成dump文件?
    目前已知的方法,有如下几种:
    • 通过任务管理器,右键选中进程之后,选择创建转储文件。参考Windows下dump文件生成与分析。
    • 配置注册表,参考Windows下dump文件生成与分析。
    • 使用windbg等调试器,挂载到目标进程,然后使用.dump命令生成dump文件。
    • 使用管理员权限打开cmd.exe,执行windbg -I,可以将windbg注册为系统默认调试器,当系统中的进程出现崩溃现象时,将自动启动windbg并挂载至相应的进程中,此时可以执行.dump命令来生成dump文件。
  • 符号表文件非常关键,在构建软件时,无论debug/release,均指定编译器输出pdb文件。
    • 对于稳定复现的问题,这时使用Visual Studio IDE来调试,非常方便、高效。
    • 对于很难复现、或者没有找到复现条件的问题,事后分析dump文件,搭配pdb文件,同样有助于分析问题。
  • debug/release构建模式对分析dump文件的影响。
    • debug方式构建的程序,编译器做的优化相对较少,分析dump文件时可以方便的查看各个变量的取值。
    • release方式构建的程序,编译器做了大量的优化,分析dump文件时,可能无法看到具体变量的值,分析难度可能比较大。

参考资料

  • WinDbg使用01 analyze
  • windbg-> !analyze -v 信息详解
  • Windbg命令学习12(.lastevent和!analyze)
  • Windows下dump文件生成与分析

http://www.lryc.cn/news/170735.html

相关文章:

  • 【论文阅读 07】Anomaly region detection and localization in metal surface inspection
  • SSM - Springboot - MyBatis-Plus 全栈体系(十一)
  • 深度剖析贪心算法:原理、优势与实战
  • Docker搭建DNS服务器--use
  • “顽固”——C语言用栈实现队列
  • linux内网渗透
  • 还没用熟 TypeScript 社区已经开始抛弃了
  • 2023年9月19日
  • PowerDesigner 与 mysql 同步数据
  • [python 刷题] 271 Encode and Decode Strings
  • [QT]day3
  • 《PostgreSQL事务管理深入解析》
  • 深度分析Oracle中的NULL
  • Python入门教学——类和对象
  • 【数据库系统概论】关系数据库中的关系数据结构
  • LabVIEW对Table中同一行数据分多次增加
  • 微信小程序实现删除功能
  • 整合Shiro+Jwt
  • Python 图形化界面基础篇:创建工具栏
  • 基于matlab实现的卡尔曼滤波匀加速直线运动仿真
  • windows Visual Studio 2022 opengl开发环境配置
  • 中国财政科学研究院党委书记、院长刘尚希一行莅临麒麟信安调研
  • 基于element-ui的年份范围选择器
  • 【已解决】您所使用的密钥ak有问题,不支持jsapi服务,可以访问该网址了解如何获取有效密钥。
  • JS操作数组方法学习系列(1)
  • 翻牌闯关游戏
  • CilckHouse创建表
  • 高级运维学习(八)Ceph 概述与部署
  • 【图像处理】VS编译opencv源码,并调用编译生成的库
  • STM32 EtherCAT 总线型(1 拖 4)步进电机解决方案