Qt下MSVC/Mingw平台dump/crash log报告调试方法差异
来源:互联网 发布:ovid数据库优点 编辑:程序博客网 时间:2024/05/08 23:48
经过测试发现,对于MSVC/mingw平台的log到处方法有所不同,下面来介绍下2个平台构建的差异和方法:
1.MSVC
- 使用平台:MSV2015
1.第一步:编译构建是添加以下
"CONFIG+=force_debug_info" "CONFIG+=separate_debug_info"
这样编译以后可生成*.pdb文件
将dump文件和*.pdb及map文件放在同目录下,使用vs2015打开dump文件既可以定位到dump代码行。
2.Mingw
- 使用平台:mingw530
mingw平台下,目前只在windows下测试过,但是无法精确定位到代码行,方法如下:
1.首先由于mingw平台下便有不支持生产pdb文件,所以无法直接使用VS来调试dump文件,但是我们可以通过cv2pdb来转换,具体转换在另外文档中详细讲解。
同时,qt工程在编译mingw-release版本时,在pro中需要加上一下配置:
#加入调试信息QMAKE_CFLAGS_RELEASE += -gQMAKE_CXXFLAGS_RELEASE += -g#禁止优化QMAKE_CFLAGS_RELEASE -= -O2QMAKE_CXXFLAGS_RELEASE -= -O2#release在最后link时默认有"-s”参数,表示"Omit all symbol information from the output file",因此要去掉该参数QMAKE_LFLAGS_RELEASE = -mthreads -Wl
这样编译出来的exe程序可以被cv2pdb工具转换出来。
上面说了mingw平台上虽然可以导出pdb文件,但是还是无法精确的定位到代码行,所以这个方法也没多大作用,但是不要放弃,还有google的神器:BreakPad
通过dump_syms.exe将pdb转换为sym文件后,在使用minidump_stackwalk.exe来进行分析,同时要注意minidump_stackwalk.exe需要使用在linux下使用BreakPad源码编译才可以分析dump文件。
未完待续。。。后续有时间附上编译过程和使用过程。
阅读全文
0 0
- Qt下MSVC/Mingw平台dump/crash log报告调试方法差异
- Qt下使用DbgHelp和SetUnhandledExceptionFilter来获取Crash log/dump文件
- Qt MinGW与MSVC对比
- Qt: MinGW 与MSVC的区别
- Qt编译器--MinGW与MSVC的区别
- Qt 中有两种方式编译MinGW和MSVC
- Android dump .so 文件crash log
- crash log 解析方法
- android的崩溃报告(crash dump)
- android的崩溃报告(crash dump)
- QT系列:MinGW与MSVC编译的区别
- Qt 程序异常结束 (MinGW 与 MSVC 版本切换)
- 搭建windows下eclipse+QT+minGW的c++开发平台
- XCode5环境下利用crash log调试线上Crash的流程
- XCode5环境下利用crash log调试线上Crash的流程
- XCode5环境下利用crash log调试线上Crash的流程
- Qt Creator + MinGW 在windows 下的调试
- 【安装】Qt Creator + MinGW 在windows 下的调试
- POJ 2318 TOYS <计算几何>
- 八数码问题
- Maven3 快速入门
- 微信小程序入门-事件冒泡、模板、视图渲染
- 2017CCPC秦皇岛 E:String of CCPC
- Qt下MSVC/Mingw平台dump/crash log报告调试方法差异
- hdu 6225 Little Boxes
- String of CCPC(CCPC秦皇岛)
- java 水仙花
- 关于我的博客
- Anton and Chess CodeForces
- 关于Q群-昌盛街街民联合会
- jdbc和反射
- 欢迎使用CSDN-markdown编辑器