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

《C++避坑神器·十七》找到程序崩溃Bug的一个实用方法:dump调试

在检查程序报错除了断点调试,生成log日志,还有种直接的方法,调试dump文件,该调试方法可以在运行exe程序崩溃时进行调试。文章末尾有下载链接。
在这里插入图片描述

头文件

#include "crashdump.h"

在mainWindow或主程序最开始处加下面代码,这样就可以从程序最开始处监视程序错误

#if defined(Q_OS_WIN32)SetUnhandledExceptionFilter(CrashDump::crashStackCallback);#endif

在生成的release或debug的exe运行后报错,找到exe目录下的dump文件夹下的dump文件,拖到该项目下vs中,点击右上角的使用仅限本机进行调试,
就可以从vs下面信息栏中找到程序的错误行
在这里插入图片描述

注意,release的exe运行报错生成的dump文件运行调试的时候有时不能定位代码错误行,需要修改下属性
release-属性-c/c+±常规-调试信息格式,release版本原来是无,现在改为程序数据库
链接器-生成调试信息-原来是否,现在改为生成调试信息(/DEBUG)

dump文件下载

在这里插入图片描述
http://www.lryc.cn/news/232147.html

相关文章:

  • ROS stm32 CAN通信
  • 简单地聊一聊Spring Boot的构架
  • 【算法】复习搜索与图论
  • 【KCC@南京】KCC南京数字经济-开源行
  • 苍穹外卖-day11
  • git_07_协同开发
  • 对比国内主流开源 SQL 审核平台 Yearning vs Archery
  • Mistral 7B 比Llama 2更好的开源大模型 (三)
  • 关于 Git 你了解多少?
  • 关于Elasticsearch的自动补全、数据同步和集群,以下是相关的知识点
  • linux套接字-Socket
  • debian 修改镜像源为阿里云【详细步骤】
  • 从0到0.01入门React | 004.精选 React 面试题
  • Linux 本地zabbix结合内网穿透工具实现安全远程访问浏览器
  • 【以图会意】文件系统从外存到内存到用户空间
  • 一、交换配置
  • 验证码:EasyDL 机器学习识别与云码平台一站式识别
  • postgreSQL中的高速缓存
  • 我把MySQL运行在Docker上,差点完了……
  • 【华为OD题库-023】文件目录大小-java
  • 4. 【自动驾驶与机器人中的SLAM技术】点云中的拟合问题和K近邻
  • 正点原子嵌入式linux驱动开发——Linux ADC驱动
  • 自动化测试介绍和分类,看这一篇就够了
  • Debian中执行脚本 提示没有那个文件或目录
  • 放松鸭-技术支持
  • Vue 报错error:0308010C:digital envelope routines::unsupported
  • Android 9.0 隐藏设置中一级菜单“已连接的设备”
  • Hive开窗函数根据特定条件取上一条最接近时间的数据(根据条件取窗口函数的值)
  • 指针与函数
  • GBase8a-GDCA-第二次阶段测试