首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏24K纯开源

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

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

    2.9K30发布于 2019-07-02
  • 英特尔驱动导致Qt程序必定崩溃

    背景用户反馈Qt程序启动即必现崩溃,用户环境为Dell笔记本电脑,具有英特尔&英伟达双显卡,win10 64位分析首先崩溃后,需要对用户提供的dmp文件进行分析dmp分析打开用户提供的dmp文件,发现栈帧被破坏导致堆栈无法正常显示这里需要手动还原堆栈 main+0x2fc***029ff1d0 00000000029ff1d4 7a43d8ec Qt5Gui! @ 108] 1c 0260f498 56fa4367 0260f4c4 0260f6f8 0260f5b0 qwindows! \qwindowsintegration.cpp @ 348] 22 0260f8e4 5780d8ec 00000000 00000000 0082b377 Qt5Gui! :英特尔-WPF应用崩溃、英特尔-QT崩溃、英特尔-D3d崩溃基本上回复都是升级驱动版本,回滚驱动版本等操作修复问题,但是现网观测不仅仅英特尔驱动会导致我们崩溃,英伟达、AMD显卡模块同样会有问题,所以这里考虑屏蔽驱动模块的加载来解决问题

    1.3K30编辑于 2024-08-14
  • 来自专栏linux运维

    应用程序崩溃

    应用程序崩溃是一个常见的问题,可能是由多种原因引起的,包括内存泄漏、资源耗尽、代码错误等。以下是一些诊断和解决应用程序崩溃的方法:1. 检查日志文件首先,查看应用程序的日志文件,了解崩溃的具体原因。 使用 strace 追踪系统调用strace 是一个强大的工具,可以追踪应用程序的系统调用和信号。这有助于发现导致崩溃的具体操作。 如果应用程序已经崩溃,可以使用 -c 选项来启动应用程序并追踪其系统调用:strace -o strace.out -c ./your_application 4. 使用 gdb 调试应用程序gdb 是一个强大的调试工具,可以帮助您定位和修复应用程序崩溃问题。 分析核心转储文件如果应用程序崩溃时生成了核心转储文件(core dump),可以使用 gdb 分析这些文件。

    2.3K00编辑于 2025-02-03
  • 来自专栏韩曙亮的移动开发专栏

    QtQt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 )

    文章目录 一、创建 Qt 桌面程序 二、构建并运行 Qt 桌面程序 一、创建 Qt 桌面程序 ---- 首先要安装 Qt 开发环境 , 参考 【QtQt 开发环境安装 ( Qt 版本 5.14.2 | Qt 下载 | Qt 安装 ) 博客 ; 打开 Qt Creator 开发环境 , 选择 " 菜单栏 / File / 新建文件或项目 ( N ) " , 在弹出的 " New File or Project - Qt Creator " 对话框中 , 选择左侧 Application 选项卡 , 选择 " Qt Widgets Application " 应用 , 然后点击 " Choose " 按钮 , 桌面程序框架 ; 二、构建并运行 Qt 桌面程序 ---- 点击左下角的电脑图标 , 在弹出的对话框中配置一个构建套件 , 选择构建套件 : 构建好的应用变成如下样式 , 点击左下角的绿色三角形按钮 , 即可运行该 Qt 桌面程序 , 运行效果如下 :

    5.8K40编辑于 2023-03-29
  • 来自专栏【计网】Cisco

    程序崩溃与优化

    程序崩溃 程序崩溃是指计算机程序在运行时出现了严重的错误或异常情况,导致程序无法正常运行并突然终止。 1.1 程序崩溃出现场景 内存溢出: 在C程序中,内存分配通常由函数如malloc来完成。 如果程序未提供适当的异常处理机制,如使用try-catch块来捕获异常,程序可能会崩溃。在C中,除以零通常会导致程序终止,并且没有捕获异常的机制。 #include <stdio.h> #include <stdlib.h> int main() { // 4. 这将导致未定义行为,通常会导致程序崩溃。 #include <stdio.h> #include <stdlib.h> int main() { // 5. 无限循环 while (1) { // 这是一个无限循环,可能导致程序无法正常退出 } // 4.

    1.4K10编辑于 2024-02-20
  • 来自专栏c++与qt学习

    Qt学习-------4

    Qt学习------4 信号和槽(1) connect(信号发送者,发送的具体信号,信号接收者,信号的处理(槽)) 信号和槽的优点:松散耦合,信号发送端和信号接收端本身没有关系,通过connect链接将两端耦合在一起 //创建一个自己按钮的对象 NewPushButton *btn3=new NewPushButton; btn3->setText("关闭程序"); //移动按钮位置 btn3->move(200,120); //设置父亲后会自动调用到对象树上 btn3->setParent(this); //需求 点击关闭程序按钮,关闭窗口 //参数 1 信号发送者-->按钮(传入地址) 参数2 发送的信号--->点击按钮(函数的地址) 参数3 信号的接收者-->窗口 参数4 处理的槽函数(函数的地址) //槽的英文:slot

    38230发布于 2021-02-22
  • 来自专栏一个程序员的修炼之路

    Windbg分析程序崩溃实践

    刚刚熟悉完产品的小木,接到了后台服务的报警,服务器后端偶尔会程序崩溃。刚开始小木还有点慌张,脑子里面浮现出各种问题,这个是程序的bug吗?茫茫的代码如何寻找问题?log能看到线索吗? 3.2 寻找程序崩溃的代码 加载完symbols后,我们来看下程序调用栈: 0:000> k # Child-SP RetAddr Call Site 00 00000001`08b2f4e8 00007ffb`62c05237 ucrtbase! RtlUserThreadStart+0x21 小木松了一口气,终于有点线索了,程序崩溃在函数LogStr,根据里面的行数提示,找到那段代码: void LogStr(std::string strContent ) { fprintf(stdout, strContent.c_str()); } 刚松了一口气,小木又疑惑起来,这个函数是用来打印博客标题的log的,一直都用,也测试过,怎么会偶尔导致程序崩溃

    1.8K30发布于 2021-08-06
  • 来自专栏过千帆博客

    async void 导致程序崩溃

    直到这天看到了这篇博客:在 ASP.NET Core 中誤用 async void 竟引發了 502(Bad Gateway),说async void里出现异常时会导致程序崩溃。 异常被捕获处理了,async void方法执行无异常,不会导致程序崩溃。 出现异常时能导致崩溃的代码有2种,如下: [HttpGet] public async void Get() { //异常会导致程序崩溃 throw new Exception("ex 因为async void里面没有异常,自然就不会导致程序崩溃。 因为async void在执行时没有异常,自然就不会导致程序崩溃。 但是由于我们不能保证所有代码都没有异常,所以不要使用async void!

    1.5K20编辑于 2022-04-23
  • 来自专栏全栈程序员必看

    TerminateThread可能导致程序崩溃

    (在执行内核函数时退出,造成该线程所在进程状态不确定,程序可能崩溃4 If the target thread is manipulating the global state of a shared (在使用DLL时退出,造成DLL被销毁,其他使用该DLL得程序可能出现问题!) 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/227266.html原文链接:https://javaforall.cn

    1.3K10编辑于 2022-11-15
  • 来自专栏向治洪

    android程序崩溃后重启

    有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题 首先捕获程序崩溃的异常就必须了解一下java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: ?                     Intent.FLAG_ACTIVITY_NEW_TASK);                                                  //退出程序                 Looper.prepare();                     Toast.makeText(application.getApplicationContext(), "很抱歉,程序出现异常 ArrayList<Activity> list = new ArrayList<Activity>();   public void init(){   //设置该CrashHandler为程序的默认处理器

    3.3K70发布于 2018-01-30
  • 来自专栏繁花云

    Qt程序打包

    如果使用动态链接编译Qt,移植到其他系统上需要库文件,下面讲解如何解决这一问题 设置qt环境变量后,在cmd中执行 windeployqt 可执行文件名 这样qt就会自动把依赖拷贝出来,然后我们安装软件

    1.9K00发布于 2018-07-31
  • 来自专栏Yui编程知识

    Qt】HelloWorld程序

    这就不得不追述到Qt诞生的时间,Qt诞生于1991年,那时C++还没有形成标准呢,我们所熟知最早的C++标准也是在1998年形成的C++98。 既然没有标准,那么Qt为了让自己的开发变得更流程,就自己发明了一套轮子。搞了一系列得基础类,在支持Qt得开发。 ,因此,我们在开发Qt代码的时候,如果需要用到上书容器,可以使用标准库的容器,也可以使用Qt自己创建的容器。 Qt中也存在类似对象树把各种元素给组织起来。 注意: 如果我们对象改为栈上创建,此时就可以看到运行去了的程序无法显示HelloWorld,此时label对象随着析构函数的结束,就销毁掉了。 label->setText("HelloWorld"); label.setText("HelloWorld"); } Widget::~Widget() { delete ui; } 4.

    50800编辑于 2025-02-27
  • 来自专栏跟Qt君学编程

    轻量级Qt键盘-兼容Qt4

    ❝在原有的键盘基础上兼容Qt4版本。 ::LeftMouseButtonGesture); #endif 为了更好兼容Qt 4版本,对C++11的「R面量字符串」更改。 " ", ""/*空格*/}}, {{Qt::Key_Enter, "", ""/*换行*/}} }; 改为: static QList<Modes> modeListBar_4 ", ""/*空格*/); Modes modes4; modes4 << KeyButton::Mode(Qt::Key_Enter, "", ""/*换行*/); modesList << modes1 << modes2 << modes3 << modes4; return modesList; } const QList<Modes> modeListBar4 =

    1.4K20发布于 2020-04-15
  • 来自专栏谭广健的专栏

    安卓程序崩溃错误捕捉

    在开发安卓程序时,本地测试没任何问题,但去到客户处不是这里麻烦就是哪里不行。最后还来个程序崩溃。。 最令人头疼的就是崩溃,因为程序崩溃总是悄然无息的,有时候根本都没办法进行复现处理,,经过一段的摸索后,总算发现安卓有个程序崩溃前的接口(CrashHandler)在崩溃前会执行,这样就能很好的捕获到错误了 Context ctx) { Thread.setDefaultUncaughtExceptionHandler(this); } /** * 核心方法,当程序

    1.9K31发布于 2019-11-13
  • 来自专栏全栈程序员必看

    崩溃日志记录Landroidsupportv4animationAnimatorCompatHelper

    今天再写解析json数据的时候,app运行手机,突然就崩溃了,查看了日志, 感觉这个错误似曾相识,仔细回想一下,原来之前集成photoPicker的时候,photoPicker的 compile的依赖 stackoverflow.com/questions/42987363/java-lang-noclassdeffounderror-failed-resolution-of-landroid-support-v4- 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107824.html原文链接:https://javaforall.cn

    50930编辑于 2022-07-20
  • 来自专栏乌龟哥哥默认学习专栏

    QT学习第4天:qt点击鼠标画一条直线(附源代码和程序

    100, 100, QStringLiteral("测试的显示文字")); //绘制线 //设置画笔样式 QPen pen; //实线 pen.setStyle(Qt ::SolidLine); //线粗 pen.setWidth(7); //线刷子 pen.setBrush(Qt::red); //结尾端样式 pen.setCapStyle (Qt::RoundCap); //连接处样式 pen.setJoinStyle(Qt::RoundJoin); p.setPen(pen); jx1[j] = xx1 ); } p.end(); j++; } 在widget.h中添加代码 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public

    3.3K31发布于 2020-08-17
  • 来自专栏全栈程序员必看

    Qt实现抽奖程序

    一、简介 该程序命名为Lucky,实现的功能如下: 1. 加载抽奖人员名单,并保存加载路径; 2. 工具:Qt5.13 + msvc2015 二、界面显示 ①:滚动显示名单 ②:抽奖开始/停止显示 ③:名单路径及加载按钮 三、详解 抽奖程序,简单来说,需要有人员名单+抽奖功能,至于奖品,本程序未实现显示奖品的功能 ,只是一个简易的抽奖小程序。 (); } } } 2.滚动名单每隔一定时间显示,需要使用Qt的定时器QTimer类实现。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155730.html原文链接:https://javaforall.cn

    3.1K30编辑于 2022-09-07
  • 来自专栏时悦的学习笔记

    4.使用Qt Designer

    pyqt_introduction.htm 由于本人也是学习状态,翻译可能不准确,请及时指出,我会很快修正 一些关键字会直接使用英文 目前该专题为纯理论,实际操作在完成后有演示 PyQt版本: PyQt4 什么是Qt Designer Qt Designer 是一款图形化设计工具,通过简单的拖拽来设计UI而不用写代码 Qt Designer 首先通过创建一个最外层窗口来创建程序 ? 保存后的文件后缀名为.ui 里面包含显示widget的XML文件和属性值 可以通过pyuic4 命令来转换为python文件 pyuic4 –x demo.ui –o demo.py -x 参数表示添加如下代码以使其成为可以自我运行的程序 QtGui.QDialog() ui = Ui_Dialog() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_()) 执行python程序后出现如下界面

    80320发布于 2020-08-19
  • 来自专栏iOS 备忘录

    iOS14 Beta4崩溃修改

    iOS 14 beta4崩溃修改 前言 升级iOS 14Beta4后,有用户反馈使用我们APP时会崩溃,有登录的、查看详情的,都会出现崩溃。 我们查看Bugly数据也发现崩溃率上升了0.02%,直接超出了指定的崩溃指标。虽然是由于升级beta版系统导致的,但还是要排查出具体原因,然后尽快适配。 排查 由于崩溃是必现的,所以排查起来很容易,找一台升级了iOS14 beta4的手机,然后复现步骤,看具体崩溃的地方,即可 我们APP是由于使用了SexyJson这个库,其中SexyJsonProtocol 于是再次修改 如图所示,第一次修改: [1597027634294.jpg] 第二次修改: [1597028081543.jpg] 最后 所以我们项目里在iOS14 beta4中的崩溃是由于SexyJson 库中的强制解包导致的,但是真正的原因是iOS14 beta4中AnyRandomAccessCollection()此方法不能正常工作了。

    96051发布于 2020-08-10
  • 来自专栏学习

    程序崩溃瞬间:这4道链表题不会,面试直接凉凉?速补!!

    循环继续的条件是快指针及其下一个节点都不为NULL 返回值: 当快指针到达链表末尾时,慢指针正好指向中间节点 返回慢指针指向的节点 奇数长度链表:快指针到达最后一个节点时,慢指针正好在中间 例如:1→2→3→4→ 5,慢指针停在3 偶数长度链表:快指针超过末尾时,慢指针停在第二个中间节点 例如:1→2→3→4,慢指针停在3(题目通常要求这种结果) 4.合并两个有序链表 力扣链接直达<请点击 方法思路 这段代码实现了合并两个有序链表的功能

    19010编辑于 2025-12-20
领券