首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt程序继承QApplication发生崩溃的原因

但是最近遇到的一个Qt程序崩溃的问题,却不得不让我对QApplication的两个参数提高了警惕。...但是程序发布出去给用户使用的时候,我们在后台的崩溃上报系统中看到了一个这样的崩溃堆栈: ? 很明显程序QCoreApplication的arguments()方法中崩溃了。...这个崩溃堆栈让我们不由得浮想联翩:难道这个是Qt框架本身的Bug?不小心被我给踩到了?因为我们的程序运行起来之后,没有什么地方会和QCoreApplication的arguments方法打交道啊!...根据关键字EXC_i386_GFLT没用找到什么有用的东西,再一搜Qt QApplication arguments方法崩溃,就找到了一堆的信息,其中Qt bug管理系统上的一个用户吐槽最为详细: ?...这个用户说的很详细,QApplication的构造函数中argc必须为引用传值方式,否则程序会崩溃!然而Qt官方文档并没有强调这一点,导致很多用户根本没在意到这一点。

2.3K30

英特尔驱动导致Qt程序必定崩溃

背景用户反馈Qt程序启动即必现崩溃,用户环境为Dell笔记本电脑,具有英特尔&英伟达双显卡,win10 64位分析首先崩溃后,需要对用户提供的dmp文件进行分析dmp分析打开用户提供的dmp文件,发现栈帧被破坏导致堆栈无法正常显示这里需要手动还原堆栈...,不过问题大同小异还原到这里基本上可以确定出问题的代码是创建第一个窗口,同时也符合我们现网一直观测到的一个问题0f 0260d810 56f5552b 0260d824 0260d900 047ba960...,这里是要去推测是否有多屏场景,需要出现在主屏,主要是为了解决多屏多显卡场景下的崩溃问题:QTBUG-50371接着往下就会去遍历每个显示器,利用d3d的接口来实现,需要加载d3d9.dll创建d3d9...CreateDeviceLHDDI上来创建设备驱动相关句柄,然后调用到显卡驱动模块内部问题分析用户出问题的模块在于Dell电脑上装了笔记本厂提供的定制英特尔显卡驱动(27版本)模块,导致的崩溃问题,类似问题也有大量的反馈...:英特尔-WPF应用崩溃、英特尔-QT崩溃、英特尔-D3d崩溃基本上回复都是升级驱动版本,回滚驱动版本等操作修复问题,但是现网观测不仅仅英特尔驱动会导致我们崩溃,英伟达、AMD显卡模块同样会有问题,所以这里考虑屏蔽驱动模块的加载来解决问题

32430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    什么是linux Qt

    Qt Linguist 等部分 Qt 支持所有 Unix 系统,当然也包括 Linux,还支持 WinNT/Win2k,Win95/98 平台。...Trolltech 公司 1994 年成立,但是 1992 年,成立 Trolltech 公司的那批程序员 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出然后 Qt 的发展就很快了...: 优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX,...由于 Linux 界的老大 RedHat 不喜欢 KDE/Qt 的版权,因此 RedHat 甚至专门派出了几个全职程序员来加入 GNOME 进行开发工作,于是一场同 Motif VS Openlook...一般说来, 目前 GNOME 吸引的公司比较多,但是 KDE/Qt 的开发的效率和质量比 GNOME 高,而且 Office/嵌入式 环境中先走一步,一定时间内还将处于优势地位。

    6.2K20

    Linux pstore 实现自动“抓捕”内核崩溃日志

    作者简介 廖威雄,就职于珠海全志科技股份有限公司,负责Linux IO全栈研发、性能优化、开源社区开发交流、Linux 内核开源社区pstore/blk,mtdpstore模块的作者、大客户存储技术支持...时能自动转存内核日志(log_buf),Panic重启后,把转存的日志以文件形式呈现到用户空间以分析内核崩溃问题。...linux 2.6的安卓的内核中找到,却没有提交到社区,后来被放弃维护了。网上找不到放弃的原因,我自己猜测是因为其只适用于mtd nand,然而现在的Android基本用的都是emmc。...崩溃时,由kdump产生一个用于捕抓当前信息的内核,该内核会收集内存所有信息到dump core文件中。重启后,捕抓到的信息保存在特定的文件中。类似的还有netdump和diskdump。...如果曾经触发过崩溃日志,挂载点应该有类似这样的文件: # ll /sys/fs/pstore ...

    5.7K63

    linux内核崩溃问题排查过程总结

    1.概述 某年某月某日某项目的线上分布式文件系统服务器多台Linux系统kernel崩溃,严重影响了某项目对外提供服务的能力,公司造成了不小影响。...本文档就是对自己整个问题排查过程中的总结。 2.第一阶段 因为刚出现问题的时候大家都比较紧急,每天加班都很晚,也制定了很多问题重现和定位原因的计划。...我第一阶段连续坚持了两周分析问题原因,由于第一阶段自己所做的功能基本上全部形成了详细的分析文档,所以下面主要总结一下自己第一阶段都采取了一些什么样的措施以及到达了什么效果。...进程都与发送邮件相关的进程),当程序运行起来的时候,自己小小的激动了一下,就是load上去了,服务器的对外服务能力变慢了(ssh登录),当时的线上接近线上现象,但是后面内核一直没有panic,哪怕频率快...分析步骤很简单,首先找到出错的错误代码,然后分析上下文相关的代码,分析的详细过程去年的文档也体现出来了。

    4.7K40

    GCDAsyncSocket iOS15 出现 - 崩溃排查笔记

    本文会通过对 NSThread 的原理进行分析,对 iOS 15 开始出现的 [_NSThreadPerformInfo dealloc] 相关崩溃进行定位,并提供相应的解决方案 一、背景 从 iOS...writeStream, runLoop, kCFRunLoopDefaultMode); } 当GCDAsyncSocket 的实例被释放时,会通过下面的代码[4]将让 类GCDAsyncSocket ...通过前面的分析,我们可以注意到,系统库必须完成以下两个任务: 1、另外的线程执行代码 2、阻塞当前线程,直到另一个线程执行完毕时恢复执行 本段内容是建立iOS 12.4.6 (16G183) 系统版本上面进行分析...tvos(9.0)); 找到合适的任务后, __NSThreadPerformPerform 函数会通过调用 performSelector:withObject: 完成指定的任务 现在,我们通过+...,我们需要简单的回顾一下objc的内存管理机制 示例代码 Arc *obj = [Arc new]; ARC 环境下,上面的代码会变成以下的汇编代码: tip: xor esi, esi 指令是通过异或操作将

    3.8K71

    Linux+Windows: 程序崩溃时, C++ 代码中,如何获取函数调用栈信息

    一、前言 二、Linux 平台 三、Windwos 平台 一、前言 程序执行过程中 crash 是非常严重的问题,一般都应该在测试阶段排除掉这些问题,但是总会有漏网之鱼被带到 release 阶段。...因此,程序的日志系统需要侦测这种情况,代码崩溃的时候获取函数调用栈信息,为 debug 提供有效的信息。...这篇文章的理论知识很少,直接分享 2 段代码: Linux 和 Windows 这 2 个平台上,如何用 C++ 来捕获函数调用栈里的信息。 二、Linux 平台 1....free(symbols); oss << std::endl; std::cout << oss.str(); // 打印函数调用栈信息 } 三、Windwos 平台 ...利用以上几个神器,基本上可以获取到程序崩溃时的函数调用栈信息,定位问题,有如神助! ----

    5.7K20

    linux服务器显卡崩溃解决方案

    登录界面出现分辨率特别大,整个图形界面特别大,并且怎么也登录不上去的情况时 对于这种情况,一般就是显卡驱动崩了的原因,所以我们可以首先检查显卡驱动是否有问题 nvidia -smi 如果出现说驱动链接不上什么的问题...然后输入密码 二、下载英伟达显卡官方驱动程序 下载地址为:http://www.geforce.cn/drivers 选择你自己的系统所对应的显卡驱动版本号,我的是1080,所以说我选择的是是NVIDIA-Linux-x86...cat /proc/partitions 注意是插入优盘之前之后两次,第二次显示结果中多出来的即为U盘的设备号。...mnt/usb命令进入该目录里 若之前安装过显卡驱动,需要先卸载掉 sudo apt-get --purge remove nvidia-* 安装指令如下 sudo chmod a+x NVIDIA-Linux-x86.../NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files 4.3 卸载优盘 sudo umount

    4.3K21

    Linux: 深入探讨KDUMP,内核崩溃调试利器

    KDUMP是Linux内核中的一项关键功能,用于系统崩溃时生成内存转储(core dump)。这对于系统管理员和开发人员来说,分析和调试系统崩溃问题至关重要。...KDUMP的主要步骤如下: 预配置崩溃内核(crash kernel):系统正常运行时,预先分配一部分内存用于崩溃内核。...安装KDUMP工具 大多数Linux发行版中,KDUMP工具可以通过包管理器安装,例如在CentOS或RHEL中: bash sudo yum install kexec-tools 2....例如,/etc/default/grub文件中: bash GRUB_CMDLINE_LINUX="crashkernel=128M" 更新GRUB配置: bash sudo grub2-mkconfig...4.2 bt命令 bt命令用于显示崩溃时的栈跟踪(Backtrace)信息,通过栈跟踪可以了解程序崩溃时的调用链,从而帮助定位问题的根源。

    73020

    加密资金重大崩溃后从CeFi转向DeFi

    数字资产投资公司 2 年向去中心化金融 (DeFi) 项目投入了 7 亿美元,比 2022 年增长了 190%,因为对集中式金融 (CeFi) 项目的投资则相反——同期下降了 2021% 至 73 亿美元...根据 CoinGecko 的数据,2022 年最大的 DeFi 资金来自 Luna 基金会卫队 (LFG) 1 年 2022 月以 亿美元出售 LUNA 代币,这大约是 月大地月神经典...(LUNC) 和大地经典美元 (USTC) 灾难性崩溃前三个月。...第二和第三个是链上衍生品平台和去中心化稳定币,Andersson认为这是由于最近的FTX崩溃和最近的监管行动而出现的: “鉴于FTX的崩溃和监管运动,我们已经看到对GMX,SNX和LYRA等链上衍生品平台重新产生了兴趣...欢迎关注笔者,留言区分享您的观点!

    47810
    领券