在检查程序报错除了断点调试,生成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)