使用msvc编译器,因为mingw生成不了pdb文件,生成的话太麻烦,这里没有尝试。
试的时候,msvc debug模式下生成的dmp,不用pdb文件,VS也能定位到出错的地方;
mingw只能生成dmp,用VS打开后,不知道定位到哪里了。
做了一些修改,转载链接:qtcreator创建dump文件并用vs2015定位程序中断位置 - 掘金
- 新建一个qt项,取名TestDump

- 在.pro文件中添加如下代码,为了编译的时候能生成pdb文件
#以下代码为生成pdb文件
CONFIG += force_debug_info CONFIG += senarate_debug_info -
新建一个cusdump.h头文件,代码如下:
#ifndef CUSDUMP_H #define CUSDUMP_H #pragma once #include <tchar.h> #include <Windows.h> #include <DbgHelp.h> #pragma comment(lib, "user32.lib") int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers) { // 定义函数指针 typedef BO

文章讲述了如何在MSVC环境下配置生成pdb文件,以便于调试。通过创建Qt项目和自定义的cusdump.h头文件,实现当程序异常时生成DMP文件。在VS中,即使没有pdb文件,也能通过DMP定位到出错位置。对于MingW,只能生成DMP文件,但在VS中可能无法准确定位。
最低0.47元/天 解锁文章
9983






