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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【赵渝强老师】MongoDB的存储引擎

存储引擎(Storage Engine)是MongoDB的核心组件,它负责管理数据如何存储在硬盘(Disk)和内存(Memory)上。从MongoDB 3.2 版本开始,MongoDB支持多种类型的数据存储引擎。 视频讲解如下&…

【ubuntu24.04】腾达U12 8812au无线网卡成功安装

U12是腾达2019年的产品 参考:台式机Ubuntu20.04系统下安装Tenda U12 无线网卡驱动当时不支持6.x的内核。官方的ubuntu驱动看起来不能用了。ipconfig /all 查看 Wireless LAN adapter WLAN 2:Connection-specific DNS Suffix . :Description . . . . .

linux-----内核(Kernel)与文件系统(File System)

一、内核作用 1.资源管理: 内核负责管理系统资源,包括CPU、内存、设备驱动和网络通信等。它为用户空间提供了一组接口,使得应用程序能够访问底层硬件,而不需要直接与硬件交互。 2.进程管理 内核负责进程的创建、调度、终止等操作…

使用twilio向手机发短信做监控报警

最近遇到个需求,就是夜班HW希望有个监控系统指标,如果异常就向监控人手机打电话的需求。在考察以后,发现目前由于国内防电信诈骗的原因,所以想要使用云通讯功能必须由企业去申请,但作为一个个人的监控项目来说太大了。…

Python | Leetcode Python题解之第384题打乱数组

题目: 题解: class Solution:def __init__(self, nums: List[int]):self.nums numsself.original nums.copy()def reset(self) -> List[int]:self.nums self.original.copy()return self.numsdef shuffle(self) -> List[int]:for i in range(l…

极光推送(JPush)赋能登虹科技,打造智慧视觉云平台新体验

近日,中国领先的客户互动和营销科技服务商极光(Aurora Mobile,纳斯达克股票代码:JG)与杭州登虹科技有限公司(以下简称“登虹科技(Closeli)”)达成合作,借助极…

Mybatis部分笔记二——Spring:

Spring spring是轻量级的,IOC和AOP的一站式java开发框架,简化企业级开发。 其中: 轻量级:框架体积小(核心模块), IOC:Inversion of Control(控制反转),把创建对象的控制权,反转给Spring框架。 以前程序…

Debian Linux上安装Jumpserver

1.安装 Debian并配置 登录www.debian.io,下载网络版安装,安装很快,但完成后修改IP就遇到问题vi /etc/network/interfaces auto eth0 #设置开机自动连接网络 iface lo inet loopback allow-hotplug eth0 iface eth0 inet static #static表示使用固定I…

数分基础(03-3)客户特征分析--Tableau

文章目录 客户特征分析 - Tableau1. 说明2. 思路与步骤3. 数据准备和导入3.1 用EXCEL初步检查和处理数据3.1.1 打开3.1.2 初步检查(1)缺失值检查缺失值处理 (2)格式化日期字段(3)其他字段数据类型 &#xf…

一 lua学习笔记:概述

一 概述 Lua 语言是一种动态类型语言( Dynamically-typed language ),在这种语言中没有类型定义( type definition ),每个值都带有其自身的类型信息。 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程…

MySQL5.7.36之主从复制部署安装-centos7

主库是192.168.31.209:3306 从库是192.168.31.210:3308、192.168.31.209:3307、192.168.31.210:3309、192.168.31.211:3310、192.168.31.211:3311 切记:不管是主库还是从库,server_id一定不能重复 1、主库创建复制账号及授权 create user repl% iden…

【vscode】vscode+cmake+llvm+ninja开发环境的搭建(draft)

文章目录 前言1 软件、工具和插件安装1.1 vscode安装1.2 cmake安装1.3 安装LLVM1.4 安装Ninja1.5 vscode插件安装 2 工具链和CMakeLists2.1 工具链(toolchain.cmake)2.2 CMakeLists.txt2.3 基本语法注释 前言 本文是一个使用vscode的小白扫盲贴。 所谓工…

科讯档案管理系统存在SQL注入漏洞(0day)

漏洞描述 安徽科迅教育装备20年来来始终坚持智慧校园集成方案产品的开发和部署应用,我们有完善的智慧校园和数字校园建设方案,根据不同的学校不同的实际情况量身定做系统集成方案。产品主要是为了实现校园的智慧网络、智慧OA、智慧教学、智慧学习、数字医…

.NET Razor类库-热加载 就是运行时编译

1.新建3个项目 1.1 一个.NET Standard2.1项目 IX.Sdk.SvnCICD4NuGet 1.2 一个.NET Razor类库项目 IX.Sdk.SvnCICD4NuGet.RazorWeb 1.3 一个.NET6 Web项目 IX.Sdk.SvnCICD4NuGet.Web 这3个项目的引用关系 Web引用 Razor类库 和 .NET Standard2.1 Razor类库引用.NET Standard2.1…

数据同步大冒险:PostgreSQL到MySQL的奇妙之旅

引言:一场跨数据库的浪漫邂逅 💑 在数据的世界里,不同数据库系统就像是来自不同星球的恋人,它们各自拥有独特的魅力,但偶尔也会渴望一场跨越界限的亲密接触。今天,我们就来见证一场PostgreSQL与MySQL之间的…

基于RK3588+MCU智能清洁车应用解决方案

智能清洁车应用解决方案 在智慧城市建设发展的过程中,智慧环卫是打造智慧城市的重要组成部分,智能清洁车作为实现环卫智能化、提升作业效率和服务质量的关键工具,发挥着不可或缺的作用。 智能清洁车集成了激光雷达、双目视觉、多重传感器以及…

【drools】kie:官方仓库clone 遇到问题解决

git clone https://github.com/kiegroup/drools.git这个与apache的还有不同。代码比较多,考验代理能力 zhangbin@LAPTOP-Y9KP MINGW64 /d/Future $ rm -rf drools/zhangbin@LAPTOP-Y9KP MINGW64 /d/Future $ git clone https://github.com/kiegroup/drools.git Cloning into …

无线通信频率分配

首先看看无线电信号的频谱如何划分: 一、5G NR 3GPP已指定5G NR 支持的频段列表,5G NR频谱范围可达100GHz,指定了两大频率范围: ① Frequency range 1 (FR1):就是我们通常讲的6GHz以下频段 频率…

uniapp uni-popup底部弹框留白 底部颜色修改 滚动穿刺

做底部弹框的时候,可能出现以下场景需要处理。 一、出现底部留白不是白色,需要修改颜色的时候: 1、如果弹框不需要圆角效果,则在uni-popup加上背景色就行,弹框是个直角样式: 2、如果需要圆角效果&#xff0…

CSS3页面布局-三栏-中栏流动布局

三栏-中栏流动布局 用负外边距实现 实现三栏布局且中栏内容区不固定的核心问题就是处理右栏的定位&#xff0c; 并在中栏内容区大小改变时控制右栏与布局的关系。 控制两个外包装容器的外边距&#xff0c;一个包围三栏&#xff0c;一个包围左栏和中栏。 <!DOCTYPE html&…