通过visual studio进行dump文件调试和分析

0、前言

很多时候程序crash之后需要分析原因。对于C/C++程序,一般最常见的场景和方法就是根据dump文件进行分析。

1、分析的前提条件

进行dump文件分析,需要以下文件:

  1. 进程crash时产生的dump文件
  2. 程序源码
  3. 进程对应的程序exe文件
  4. 编译exe文件时产生的pdb符号文件

需要准备的工具:visual studio

2、分析步骤

2.1 通过vs打开dump文件

右键dump文件,打开方式选择visual studio (直接双击打开也行,默认会用vs打开)

2.2. 选择混合模式进行调试

打开dump文件之后,会看到dump相关的信息,包括dump文件的位置、程序的名称和路径等信息。同时,右侧还可以看到相关的操作选项。这里选择试用混合模式进行调试即可。

2.3. 设置二进制文件和pdb文件的路径, 并加载

选择混合模式进行调试后,会提示找不到二进制文件(exe等),需要通过新建路径来设置二进制文件和pdb文件的路径。

新建路径中添加二进制文件和pdb符号所在的路径。(注意添加后前面的方框要勾选中),最后点击加载

2.4. 设置源码的路径

这不步不是必须的。如果vs根据之前设置的路径找不到源文件,要重新设置一下源文件的目录。

2.5. 堆栈和变量分析

上面的步骤完成之后,就可以进行分析了。

通过堆栈可以看到程序crash的位置,同时还可以观察上下文变量信息。

相关推荐
海清河晏1112 天前
数据结构 | 二叉平衡搜索树
开发语言·数据结构·visual studio
蜕变的土豆4 天前
Visual Studio编译器调试信息格式详解:PDB文件的重要性与发布环境配置指南
visual studio
不负信仰4 天前
Visual Studio 三月更新 —— 打造专属自定义 Agent
ide·visual studio
祸心依旧4 天前
Visual Studio 五月更新 —— 计划、评审、优化
运维·人工智能·visual studio
慕容引刀4 天前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
蜕变的土豆5 天前
Visual Studio Release模式下如何调试
visual studio
唠叨的蜜粉5 天前
无需离开 Visual Studio 即可审阅拉取请求
ide·visual studio
纸小铭5 天前
Azure MCP 工具现已内置集成至 Visual Studio 2022,无需额外安装扩展
microsoft·azure·visual studio
海清河晏1117 天前
数据结构 | 二叉搜索树
数据结构·c++·visual studio