通过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的位置,同时还可以观察上下文变量信息。

相关推荐
一匹电信狗1 天前
【C++】异常详解(万字解读)
服务器·c++·算法·leetcode·小程序·stl·visual studio
qwertyuiop_i1 天前
使用CMAKE-GU生成Visual Studio项目
visual studio·qt6·sln
羊子雄起3 天前
GitHub宕机时的协作方案
运维·vscode·github·visual studio
晨非辰4 天前
#C语言——学习攻略:自定义类型路线--结构体--结构体类型,结构体变量的创建和初始化,结构体内存对齐,结构体传参,结构体实现位段
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio
晨非辰6 天前
#C语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数
c语言·开发语言·经验分享·学习·学习方法·visual studio
晨非辰6 天前
#C语言——刷题攻略:牛客编程入门训练(八):分支控制(二)
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio
界面开发小八哥11 天前
CodeRush AI 助手进驻 Visual Studio:AiGen/AiFind 亮相(四)
人工智能·界面控件·visual studio·devexpress·coderush
晨非辰13 天前
#C语言——刷题攻略:牛客编程入门训练(四):运算(二)
c语言·开发语言·经验分享·学习·visual studio
晨非辰14 天前
#C语言——刷题攻略:牛客编程入门训练(一):简单输出、基本类型
c语言·学习·学习方法·visual studio
晨非辰14 天前
#C语言——刷题攻略:牛客编程入门训练(四):运算
c语言·开发语言·学习·学习方法·visual studio