window mingw qbreakpad 生成dump

1 篇文章 0 订阅
1 篇文章 0 订阅

window10 、 QtCreater 、 mingw编译器

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

注意这里使用的库是 libQBreakpad.a

下面接受如何 根据 翻译 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

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

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

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

中的步骤四

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

2、添加源代码文件

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

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

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

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

linux参考

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

woquNOKIA

谢谢老板!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值