生成Release版本的.pdb文件

    软件分为Debug版本、Release版本这2种版本,其中Debug版本是带有.pdb调试信息文件,而Release版本不带.pdb调试信息文件。软件发布时,一般采用Release版本,若因内存泄漏、数组访问越界、除零错误、磁盘读写错误等异常,造成软件崩溃,会生成一个.dmp崩溃文件。该.dmp崩溃文件,如同飞机的黑匣子,记录软件(或飞机)处于崩溃那那一刻的堆栈信息、运行错误和执行的代码语句行。.dmp文件需要Release版本的exe携带.pdb调试信息或.pdb文件,才能解析到具体的代码崩溃行。这里介绍在visual studio里给Release工程,添加.pdb调试信息。比如,在VS2019里,给工程SqlOne添加Release版本的调试信息。

1 先切换到Release版本

    点击VS工具栏的Release – 》OK,如图(1)所示,切换到Release版本

图(1) 切换到Release版本

2 在链接器里,勾选"生成调试信息"

    在VS解决资源管理器里, 右击SqlOne工程 --》属性 --》链接器 --》调试 --》生成调试信息(/DEBUG) --》确定,如图(2)、图(3)所示:

图(2) 右击工程--》属性

图(3) 在链接里,启用"生成调试信息"

3 配置C/C++属性

    1) 右击工程 --》属性–》【配置属性】–》C/C++ --》常规–》调试信息格式 ,勾选 用于"编辑并继续的程序数据库(/ZI)"–》确定,如图(4) 所示:

图(4) 选择 用于"编辑并继续的程序数据库(/ZI)"

    2) 右击工程 --》属性–》【配置属性】–》C/C++ --》优化–》已禁用(/Od) --》确定,如图(5) 所示:

图(5) 在C/C++里,禁用"优化"选项

    设置好之后,按Ctrl+Shift+B快捷键,编译该工程,在Release目录,得到与exe同名的.pdb文件,如图(6)所示:

图(6) 得到与exe同名的.pdb文件

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

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

相关文章

计算机毕设 大数据房价预测分析与可视

文章目录 0 前言1 课题背景2 导入相关的数据 3 观察各项主要特征与房屋售价的关系4 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟…

CleanMyMac X4.14.1最新版本下载

CleanMyMac X是一个功能强大的Mac清理软件,它的设计理念是提供多个模块,包括垃圾清理、安全保护、速度优化、应用程序管理和文档管理粉碎等,以满足用户的不同需求。软件的界面简洁直观,让用户能够轻松进行日常的清理操作。 使用C…

QT的QCommand的do和undo介绍

QT的QCommand的介绍 在Qt中,QCommand类是一个抽象类,它提供了redo()和undo()方法的纯虚函数,用于执行重做和撤销操作。QCommand类的目的是提供一种通用的方式来表示和执行命令式操作,这些操作可以是用户交互、程序逻辑或其他类型的…

微信小程序去除默认滚动条展示

一、微信小程序改版框架升级后,滚动条默认展示了。 在实际应用中效果不好,如果想默认隐藏掉,代码段如下: /* 去除默认滚动条效果 */ ::-webkit-scrollbar {display:none;width:0;height:0;color:transparent; } 设置成全局样式…

Scala第十一章节

Scala第十一章节 1.模式匹配 2. Option 类型 3.偏函数 4.正则表达式 5.异常处理 6.提取器 7.案例:随机职业 scala总目录 文档资料下载

如何使用 LeiaPix 让照片动起来

在过去,想要让照片动起来,需要使用专业的软件和技巧。但是,随着科技的发展,现在只需使用一个简单的工具,就可以轻松地让照片动起来。 LeiaPix 是一个免费的在线工具,可以将静态照片转换为动画。该工具使用…

C语言qsort函数

排序qsort int int cmp(const void *a, const void *b) {return *(int *)a - *(int *)b;//先强转成int型,后解引用取值比较大小 }字符串数组 char a[] “hello world” //字符串数组,存放的是字符 int cmp(const void *a, const void *b) {return *(…

嵌入式软件架构基础设施设计方法

大家好,今天分享一篇嵌入式软件架构设计相关的文章。 软件架构这东西,众说纷纭,各有观点。在我看来,软件架构是软件系统的基本结构,包含其组件、组件之间的关系、组件设计与演进的规则,以及体现这些规则的基…

C++的纯虚函数使用与接口实现

一、为何引入纯虚函数 对于普通虚函数,如果子类没有重写相应的虚函数,那么父类指针就只能调用父类函数实现,然而父类有时候并不能给出具体的实现,仅仅只是一种抽象的概念,比如我们抽象了一个父类叫运算calculate&…

如何进行内存映射和文件映射操作?

内存映射和文件映射是在操作系统和程序之间共享数据的强大技术。它们可以用于提高文件的读写效率、内存管理和进程间通信。对于C语言初学者来说,了解如何进行内存映射和文件映射操作是一项有价值的技能。在本文中,我们将详细讨论内存映射和文件映射的概念…

1.7. 找出数组的第 K 大和原理及C++实现

题目 给你一个整数数组 nums 和一个 正 整数 k 。你可以选择数组的任一 子序列 并且对其全部元素求和。 数组的 第 k 大和 定义为:可以获得的第 k 个 最大 子序列和(子序列和允许出现重复) 返回数组的 第 k 大和 。 子序列是一个可以由其他数…

Linux中getopt函数、optind等变量使用详解

getopt函数、optind等变量使用详解 最近在学习《Unix网络编程》vol2时,发现书中例子经常使用一个命令行解析getopt函数,因为函数声明比较特别,根据自己摸索,遂总结出使用方法。 1. getopt函数的声明 该函数是由Unix标准库提供的…

[应用推荐]Web Scraper——轻量数据爬取利器

对于日常的简单网页内容爬取,学习Python等投入太高,可以考虑使用这个Chrome工具。 以下为收集的具体信息,按需取用。 以下内容来自web ScraperWeb Scraper - The #1 web scraping extensionThe most popular web scraping extension. Start …

博弈论——伯特兰德寡头模型(Bertrand Model)

伯特兰德寡头模型(Bertrand Model) 0 引言 在前面几篇文章中,我们介绍了古诺模型(Cournot duopoly model)和斯塔克尔伯格模型(Stackelberg model) 博弈论——连续产量古诺模型(Cournot duopoly model) 博弈论——斯塔克尔伯格模型(Stackelberg model) 这两个模型…

PyTorch应用实战三:构建神经网络

文章目录 神经网络1.继承Module构建神经网络2.结构化构建神经网络3.函数式操作附:系列文章 神经网络 构建神经网络的一般步骤如下: 确定网络的结构:这包括输入层、输出层和隐藏层的数量以及每层中的节点数等。 收集和准备数据:这…

ARMday2

1~100累加 代码 .text .globl _start _start:mov r0, #1 fun:cmp r0,#100addls r1,r1,r0addls r0,r0,#1b fun .end运行结果

互联网Java工程师面试题·Elasticsearch 篇·第二弹

12、详细描述一下 Elasticsearch 索引文档的过程。 协调节点默认使用文档 ID 参与计算(也支持通过 routing ),以便为路由提供合适的分片。 shard hash(document_id) % (num_of_primary_shards) 1 、当分片所在的节点接收到来自协调节点…

每日一题 518零钱兑换2(完全背包)

题目 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整…

API基础————包

什么是包,package实际上就是一个文件夹,便于程序员更好的管理维护自己的代码。它可以使得一个项目结构更加清晰明了。 Java也有20年历史了,这么多年有这么多程序员写了无数行代码,其中有大量重复的,为了更加便捷省时地…

Flv.js编译使用

Flv.js (https://github.com/bilibili/flv.js)是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源。本文讲述其编译使用。 Flv.js目前最新版本是v1.6.2。在htt…