Qt生成dump文件——release版

开发环境


项目版本
QCreatorQt Creator 4.7.1 Based on Qt 5.9.7 (MSVC 2015, 32 bit)
windowswin10 企业版

 

生成可调试版本的release包


1.通常情况下Qt的release是不能像debug一样进行调试的,所以我们即使拿到release版本的dump文件也无法进行调试。所以第一步先进行一些配置:
在项目的*.pro文件里添加以下内容(具体含义参考:https://blog.csdn.net/itas109/article/details/83652387):

QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO


2.这时我们的release就可以跟debug一样进行断点调试了。接下来在项目名上右键->清除->执行qmake->重新构建,生成release版本的*.exe,并使用windeployqt或其他方式打包。


Get dump file


1.这里修改注册表的方式是通过一个*.exe文件配置的,使用方法在readme.txt里说明了。自动Dump核心转储文件.rar(https://download.csdn.net/download/weixin_40953784/11564664


部署


1.在现场使用之前,先使用自动Dump核心转储文件包的Auto_Dump_Set.reg对现场电脑进行注册表配置(只需要配置一次,后续除非注册表修改或者重装系统,否则不需要再次使用)。到这里所有准备工作完毕,等待运行release时崩溃产生dump文件即可(一般生成的文件在桌面的CrashDumps文件夹下)。


调试dump文件


1.拿到现场的dump文件后,根据现场的release程序版本,到git上checkout相应程序源码。编译后(生成*.exe文件),在Qt界面选择工具栏 调试->开始调试->载入核心文件:

2.打开的弹框中,核心文件选择dump文件,执行档选择*.exe文件:


3.选择完点击OK按钮将开始调试,并定位到问题的对应代码行。


test


1.下面是写的一个简单例子进行测试(对未初始化的指针赋值):

 

for debug


当然,这一套对于debug版本同样适用。

 

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值