Windbg 分析QT 程序中的Crash问题

3 篇文章 0 订阅
订阅专栏

开发的工具中添加了google 的breakpad 来抓取dump 文件,在出现问题的时候可以用来分析crash发生的原因。

breakpad 抓取的是min dump 文件:

分析dump 使用windbg ,我这边使用的是64位的windbg 

 分析dump 需要pdb 文件,如果有source code 可以加载source code的路径。

首先我们需要加载符号文件在windbg的菜单File->Symbol file path 中来设置符号文件路径

系统调用的模块设置的符号文件可以从微软的服务器下载: 

SRV*D:\mysysmbol*http://msdl.microsoft.com/download/symbols

自己的exe 对应的符号文件指定到相关的路径,用分号分开:

D:\source code\QT Project\SomeipTool\release

QT 的相关模块的pdb 需要自己去下载:

找到和自己的QT开发工具对应的版本的pdb 文件然后下载下来,我的QT 是5.14.2,在下面的路径上下载相关的文件

Index of /online/qtsdkrepository/windows_x86/desktop/qt5_5142/qt.qt5.5142.win64_msvc2017_64

5.14.2-0-202003291224qtbase-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64-debug-symbols

然后添加到windbg的符号文件路径中:

D:\download\5.14.2-0-202003291224qtbase-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64-debug-symbols\5.14.2\msvc2017_64

其次设置一下源码的路径这样在出现问题后可以通过pdb 和源码对应上

菜单 File -> Source File Path

最后加载生成的dump 文件

菜单 File->Open Crash dump

下面是用windbg 分析问题的过程,首先我们需要确认自己的dump 和pdb 文件要对应上,否则错误的pdb会把我们带到错误的地方。

使用指令:!chksym SomeipTool

 通常我们会使用指令:!analyze -v 

然后用.ecxr切到异常处

从中可以看到出问题的是9号线程 

输入~ 指令可以查看所有的线程

 使用指令:kb 来查看函数调用栈

最后出问题的位置在函数SomeipTool!npcap::SaveAndCapture+0x123,因为加载了源码路径可以直接跳到相关的位置

 查看对应的汇编指令.u

  std::string str2{ dev_ }; dev_这个指针来初始化str2,指针没有赋值是个空指针。

现在问题已经查明,windbg的用法还有很多,后面会继续更新相关的内容。

Windbg文调试手册
04-26
总结来说,Windbg是专业级的调试利器,适用于高级开发者和系统管理员,用于诊断和修复各种软件问题,特别是与操作系统核心和驱动程序相关的复杂问题。了解和掌握Windbg的使用,对于提升IT专业人士的技能水平和解决...
Windbg分析dump及Linux调试程序使用方案
10-23
windows windgb 与 linux gdb 、linux valgrind 的使用案例,pdf 手册 Windbg分析dump及调试程序的使用例子
Qt程序crash信息的捕捉与跟踪(qt-mingw)
路楷的专栏
10-18 1万+
在用qt编写程序时经常会遇到崩溃问题,如果抓取不到crash堆栈信息就会对崩溃问题束手无策,只能对其进行复现,推断。   目录 一般解决crash问题时有如下步骤: 如何执行以上3步骤,下面我详细介绍如何操作; 步骤1: 步骤2: 步骤3: 网友评论:     一般解决crash问题时有如下步骤:   从软件发行版本能跟获得debug信息,在不同平台下有不同的表现方式,目...
QT发生crashed
在工作中感悟,在学习中进取
02-23 4785
问题:用qt creator写程序,运行发生crashed,一般是在程序使用了第三方库,运行时找不到dll,在qt creator运行会直接crashed,不提示原因。解决办法:直接运行生成的exe文件,会提示缺少xxxdll,此时,直接将缺少的dll放到exe所在文件夹,再次运行,成功。也可以将dll添加到系统路径。总之,让程序找到调用的第三方库,就不会creashed了。
QT项目dump异常机制的使用
最新发布
qq_43414873的博客
05-09 910
QT工程,mingw编译器,结合dump机制和.pdb文件,完成bug调试
C++(Qt)软件调试---下载和安装最新版Windbg(16)
mahuifa的博客
11-07 1062
新版本的WinDbg有三种安装方式,分别是两种在线安装和一种下载安装包离线安装。(推荐使用离线安装)
Qt 程序异常结束 并且crashed——解决方法 (动态链接库)
热门推荐
zxm_的博客
05-07 2万+
出现这个问题,依据网上的案例,基本上确定为动态链接库有问题,事实上确实是这个问题。 解决方法: 第一步 在添加库时 将代码添加到.pro文件 win32: LIBS += -L$$PWD/../../../install/x64/mingw/lib/ -llibopencv_calib3d344.dll win32: LIBS += -L$$PWD/../../../install/x6...
C++(Qt)软件调试---线程死锁调试(15)
mahuifa的博客
10-25 1438
死锁是一种情况,其两个或多个线程(或进程)相互等待对方释放资源,导致它们都无法继续执行。这是一种非常令人头疼的问题,因为它可以导致程序挂起,无法继续运行。 本文会详细讲述linux、Windows下调试C++线程死锁、Qt线程死锁的方式。
Qt Creatort调试dump文件,定位崩溃位置
mahuifa的博客
02-03 3101
在windows下程序崩溃时如果生成了dump文件,一般可以使用winGDB、Visual Studio进行调试;但是其实Qt Creatort也可以调试dump文件,定位崩溃位置;
WinDbg蓝屏分析.docx
12-10
WinDbg蓝屏分析.docx
windbg-x64 dump分析工具
01-16
Windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来...
Qt Release 崩溃测试 demo
11-19
Qt Release 版本下 崩溃测试 demo 可以定位到程序崩溃点
Qt CDB调试器 版本 10.0.16299.15
04-24
从Windows 10 SDK 10.0.16299.15 提取的安装包 使用方法: 解压后运行SDK Debuggers-x86_en-us.msi安装 重启后运行Qt Creator 即可自动识别
windbg文文档.zip
07-11
windbg文文档.zip
Qt dump崩溃调试简单整理
w54a3teg64c7bd的博客
10-10 4893
1. 生成dump文件 这边参考博客的源码地址,breakpaddemo不同编译环境可直接编译运行使用,可得到dmp文件 2. dump调试(msvc) 2.1 vs2010编译调试 关键是原项目需要生成pdb文件,vs需要如下配置(偷图): 项目->属性->C/C+±>General->Debug Information Format->Program Database 项目->属性->C/C+±>Optimization->Optimiza
windbg调试分析dump工具,使用windbg分析Qt崩溃原因
weixin_40355471的博客
11-05 2266
在非开发环境,windbg工具可以对.exe可执行文件进行调试,也可以分析dump文件,是release版本运行模式解决bug的神器,分析崩溃crashwindbg下载和安装,windbg调试exe可执行文件,windbg分析dump文件,生成.pdb符号文件,windbg常用命令.sympath srv*,.reload,x testDump!*,bm ,bl,g,k,dv /t,~,~0s,~*kv,qd,!analyze -v等。
Qt+WinDbg分析程序崩溃原因
weixin_46424582的博客
08-11 1864
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、dmp文件如何生成?1.自定义异常捕获入口函数2.生成pdb文件3.测试程序二、利用winDbg进行分析1.打开工具并配置相关信息2.开始分析总结 前言 程序开发免不了产生错误,其最头疼的当属程序莫名其妙的崩溃,而且你还不知道具体原因。若是在开发阶段还好,自己可以debug一步步调试,但是一旦发布了,就没那么容易定位了。那么这个时候,就需要程序运行的log来询了,当然还有一种就是在程序崩溃前弹出一个窗口,生成对
找到Qt程序长时间运行崩溃原因的方法--Dump(DMP)文件
崔杰城的博客
08-25 1万+
  最近遇到一个问题,使用vs+Qt开发应用程序,在本地测试正常,但在别人的机器上(windows平台)运行了一段时间(大概五天)崩溃了。所以这个时候我们应该怎样调试并找到程序崩溃的原因呢?发布的应用程序使用的是release版本。release版本是比较难调试的,因为缺少很多调试信息,在VC/VS我们可以通过生成DMP + PDB进行源码级定位,使用这种方法,当程序在别人电脑上出现异常或者崩溃...
Qt Mingw 创建dump 并crash 出错行
weixin_36323170的博客
04-06 903
客户现场跑的程序有可能存在长时间运行挂掉的情况,而无法复现的话无法更好的问题原因。所以研究了一下window下程序程序调试crash的方法。该本是介绍qt+ mingw 的。1. 在PRO文件加入调试信息(可能导致exe增大)在QT安装路径下找到分析工具addr2line.exe。4、引用记录崩溃类的main.cpp。3、记录崩溃日志类的.cpp文件。2、dump生成类的.h文件。
windbg分析程序未响应
09-01
每日免费提问 5 次,您的次数已用完~ ...blank" .action-button] [ .vip-button data-report-click={"spm":"1018.2226.3001.9142","extra":{"utm_source":"vip_chatgpt_common_search_pc_tab","utm_medium":...

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • LIN LDF 解析规则 2304
  • QT 实现百万级的数据显示内存消耗几十兆 1806
  • QT 中使用Npcap 来抓取网卡数据 1468
  • CAN DBC 解析规则 1379
  • Linux 内核调试环境搭建 1023

分类专栏

  • QT 9篇
  • Windbg 3篇
  • 自动化测试

最新评论

  • Linux0.11中MINIX 文件系统

    杨树与晨光: 写的真好,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】,期待互关☒☒☒

  • Linux0.11 源码中的内存分页机制

    CSDN-Ada助手: CS入门 技能树或许可以帮到你:https://edu.csdn.net/skill/gml?utm_source=AI_act_gml

  • Linux0.11 源码中的内存分页机制

    玖为: 虽然看不懂 但大受震撼

  • Win10系统上面编译scrcpy源码

    qq_42951980: 谢谢

  • Win10系统上面编译scrcpy源码

    cwei231: 这个可以自己编译出来,如果不想编译可以从源码提供的执行包中拿出来用就可以

大家在看

  • python安装matplotlib库 444
  • [0CTF 2016]piapiapia1 480
  • 1003 我要通过! 398
  • Python基础教程(二十三):JSON数据解析 1026
  • 【C语言】函数指针数组和指向函数指针数组的指针

最新文章

  • Linux0.11 中全局描述符表(GDT)
  • Linux0.11中MINIX 文件系统
  • Linux 0.11 中断描述符表的建立
2024年10篇
2023年20篇
2022年2篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

聚圣源湖北工业大学商贸学院地址ui界面设计重生药王林北苏婉小说全文免费阅读在线天堂www在线......弯腰捧腹读心我为歌狂主题曲怎么起一个英文名姓石男起名字钢琴软件今年有男宝宝起名臭作下载圣恩传说核酸检测有效期是多久比较炫酷的起名给工作室起名称李姓起名李姓名字大全2018蓝精灵电影女孩2019属猪起名字物业公司起名有寓意将军家的小娘子电视剧免费观看手机关机了还能定位到准确位置吗刚正不阿的意思正字起名火柴人动画制作不食嗟来之食法医秦明之血色婚礼贾姓女孩起名字网络运营商淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化