码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决一个Qt程序崩溃的问题


    当Qt崩溃时,使用Qt Creator调试,也无法定位到是哪个地方除了问题。只发现日志报出一个Fatal。

    Fatal:  2023-11-05 00:16:26 [io\qprocess_win.cpp:826]  ASSERT: "pid" in file io\qprocess_win.cpp, line 826
    
    • 1

    触发的情况,就是使用QProcess同时启动多个进程时,主动退出进程导致的。
    定位到代码的位置在:

    void zip7z::terminal()
    {
        process.kill();
        process.waitForFinished();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这个 terminal 是在主线程被调用的。在process主动退出前,调用这个接口,就会卡死。
    注释掉 process.waitForFinished(); 即可解决这个问题。怀疑是进程没有被kill掉,导致主线程一直阻塞,然后崩溃的。仅仅是怀疑,但我没有证据…

    Qt官方文档对于这个接口的解释:

    Blocks until the process has finished and the finished() signal has been emitted, or until msecs milliseconds have passed.
    Returns true if the process finished; otherwise returns false (if the operation timed out, if an error occurred, or if this QProcess is already finished).
    This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.
    Warning: Calling this function from the main (GUI) thread might cause your user interface to freeze.
    If msecs is -1, this function will not time out
    
    • 1
    • 2
    • 3
    • 4
    • 5

    总之,就是不要在主线程中使用这个接口,否则会导致UI卡主。

  • 相关阅读:
    linux系统部署jar脚本编译
    ITSS信息技术服务运行维护标准符合性证书申请详解及流程
    【HTML】标签学习(下.3)
    Maven 配置阿里云镜像
    c++基本图形绘制
    详解mybatis三种分页方式
    软件测试/测试开发丨跨平台 api 对接 学习笔记
    每次打开百度太麻烦?用程序直接打开网页 Python实现百度划词搜索功能(获取剪切板数据)
    电子元器件招标采购商城:优化传统采购业务,提速企业数字化升级
    第一届龙信杯取证比赛部分题目复现
  • 原文地址:https://blog.csdn.net/duapple/article/details/134226036
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号