window mingw qbreakpad 生成dump

window10 、 QtCreater 、 mingw编译器

编译参考Qt Windows系统使用QBreakpad实战

下面接受如何 根据 翻译 dump文件

1.Qt的release配置中加入如下配置,能生成pdb信息.
    #加入调试信息
    QMAKE_CFLAGS_RELEASE += -g
    QMAKE_CXXFLAGS_RELEASE += -g
    #禁止优化
    QMAKE_CFLAGS_RELEASE -= -O2
    QMAKE_CXXFLAGS_RELEASE -= -O2
    #release在最后link时默认有"-s”参数,表示"Omit all symbol information from the output file",因此要去掉该参数
    QMAKE_LFLAGS_RELEASE =
 

2通过cv2pdb.exe生成pdp信息(test.exe是崩溃的可执行文件)
  cv2pdb test.exe 

注意每次编译完dll或exe只能生成一次pdb文件

3. 利用dump_syms.exe 根据生成的pdb生成符号信息
  dump_syms test.pdb ./symbols > test.sym

4.打开test.sym ,第一行是符号信息地址相关的,必须通过这个才能加载符号。
类似:”MODULE windows x86_64 08D0DCDC6FC941D1B2155F47D42A7A771 test.pdb“

然后在可执行程序目录下新建ymbols/UGRTCCenter.pdb/4ADAAA32BE87447D8F8247ACBBC802B41 目录,并把test.sym复制获取

5.minidump_stackwalk ./crashes/e1372b93-bcd3-4196-bb9f-7cf33eefb46a.dmp ./symbols > test.txt

window mingw qbreakpad 生成dump_第1张图片

6.如可根据test.txt  打开根据崩溃的地址 使用address2Line 工具定位奔溃的地址,但是我这提示的是 ??

window mingw qbreakpad 生成dump_第2张图片

方案2 过呢据exe、PDB  和dum文件使用vs调试

参考 :VS2013生成及调试dump文件_风的哀伤的博客-CSDN博客_vs项目生成调试信息

中的步骤四

  1. VS2013打开dump文件,选择【设置符号路径】->【调试】->【符号】,把pdbexedll文件路径添加到下图位置中。

window mingw qbreakpad 生成dump_第3张图片

2、添加源代码文件

1)选择【视图】->【解决方案资源管理器】,把解决方案生成出来。如下图:

window mingw qbreakpad 生成dump_第4张图片

2选择【解决方案】->右键->【属性】->【调试源文件】,添加源文件所在目录添加到下图所示位置中

window mingw qbreakpad 生成dump_第5张图片

window mingw qbreakpad 生成dump_第6张图片

注意:main函数中直接调用的可以定位到, 按钮槽函数崩溃的不能生成dunp文件 谁知道什么原因请指教一下

目前测试 是在我自己笔记本电脑win10 家庭版 槽函数崩溃不生成崩溃文件,在工控机win10 企业版是可以生成的。其他版本 待测试。 也不确定是 是什么原因导致的 待研究

linux参考

Qt Linux系统使用QBreakpad实战_51CTO博客_linux下qt使用教程

你可能感兴趣的:(QT,window,qbreakpad,windows)