Qt 崩溃 corrupted double-linked list Aborted

news2024/12/30 2:38:13
头图

文章目录

    • 摘要
    • 1 使用全局静态变量
    • 2 不取第一个和最后一个数
    • 3 将数据计算放到同一线程计算
    • 4 替换槽函数
    • 5 修改传值为const
    • 6 神奇的环境因素
    • 7 更神奇的板子差异
    • 8 另一个细节Aborted
    • 最后

关键字: QtAbortedcorrupteddoublelinked

摘要

额,结论,没有搞定,最后通过守护进程先糊弄过去,这个项目过了证就扔了,所以目前不准备在修复,这里简单记录下我都尝试了那些东西

corrupted double-linked list Aborted,谷歌翻译的结果就是 双链表损坏。

image-20230302162748571

1 使用全局静态变量

遇到这个问题首先就是要百度,有一个声音说是重复释放了,所以我这里尝试把我函数中所有的局部变量都弄成静态全局变量,这样测试还是没有解决问题。

2 不取第一个和最后一个数

其实到这里,已经开始不自信了,项目中用到了多线程,数据交换用的是vector,线程A 每次都是追加一个数据,删除第一个数据,线程B读取线程A的数据,并进行相关计算,开始我只直觉读取vector的begin 和end 了,后面做了+1 和-1,想的是不是加锁没有成功,导致,最后发现还是会崩溃。

3 将数据计算放到同一线程计算

后面我尝试吧数据的计算都放到一个线程里面,另一个线程只读线程的属性值就可以,但是还是一样的崩溃。

4 替换槽函数

其实这个也不知道有没有实际的作用,我开始是将数据B的读取数据写到了一个定时器的槽函数里面,这样每次定时去读取数据,发现崩溃后,我尝试了定时器发送信号,在线程里面在实现一个槽函数,来读取数据,测试结果还是崩溃

5 修改传值为const

这个理解其实应该是有偏差的了,我开始给函数传vector 的时候,是直接传递的,这里其实应该也是传递了一个指针,发现层亏后,我在将函数参数加了const ,结果还是崩溃

6 神奇的环境因素

我在X86 的机器上挂Debug测试没有测到崩溃的时候,而在真实的Arm板子上跑就会崩溃,这个也是一个搞不定的问题。阿西,

7 更神奇的板子差异

板子是同一个板子,只是系统稍微有点差别,在家里好歹可以撑到40分钟,甚至更长的几小时,在现场基本就是30分钟内必然崩溃,而我板子试试安装的库可能更多一点,按道理,没啥差别,都是厂家自带的系统。

8 另一个细节Aborted

这里我感觉,我的程序不是自己运行崩溃了,而是被系统给kill了。所以问题出在哪里呢。

最后

到这里,我也没有彻底解决这个问题,所以我准备重写了。

参考资料

https://bbs.csdn.net/topics/392140813?list=lz

https://stackoverflow.com/questions/18035080/malloc-crashes-saying-corrupted-double-linked-list

https://www.cnpython.com/qa/1324332

https://www.coder.work/article/112395

https://www.zhangshilong.cn/work/172885.html

https://blog.csdn.net/weixin_39094034/article/details/110225908

https://blog.csdn.net/liuzehn/article/details/80830279

https://cloud.tencent.com/developer/article/2054858

https://www.dovov.com/sigabrt6.html


博客签名2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【上位机入门常见问题】SQLServer2019 安装指导

SQLServer2019 安装指导 这里要说一下SQLServer的版本问题,首先说纵向的高低版本,如果大家跟我学习,我教给大家的是T-SQL编程的方法,而不是直接操作菜单的方法,所以,我们学习中只要使用SQLServer2012或以上…

嵌入式学习笔记——STM32单片机开发前的准备

STM32单片机开发前的准备1.集成开发环境的选取STM32 CubeIDEKEIL_MDK2.KEIL_MDK环境搭建安装包获取及安装芯片包下载及安装工程建立(STM32F407VET6为例)1.新建工程文件夹2.新建工程3.安装ST-LINK以及CH340的驱动4.设置KEIL,并烧录本文重点1.集成开发环境的选取 前面…

深入分析Vert.x里Future的compose() 和 map()

Vert.x 是一个异步框架。因此,它需要一种方法来表示可能尚未准备好但将来可用的值,也称为延迟值(deferred values)。您可能熟悉不同名称的延迟值:Promise, Future, Deferred, Mono, Uni 都是延迟值设计模式的实现。 Vert.x 有自己的延迟值实…

IP 地址类型有哪些?

IP 地址有不同的类别,每个类别内有不同的类型。消费者 IP 地址具有互联网服务计划的每个个人或企业都将拥有两种类型的 IP 地址:专用 IP 地址和公共 IP 地址。术语“公共”和“专用”与网络位置有关 - 即,在网络内部使用专用 IP 地址&#xf…

【C++】30h速成C++从入门到精通(内存管理、函数/类模板)

C内存分布我们先来看一下下面的一段代码相关问题int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";char* pChar3 "abcd";int* ptr1 (int*)mal…

离线数据仓库项目搭建——准备篇

文章目录(一)什么是数据仓库(二)数据仓库基础知识(三)数据仓库建模方式(1)星行模型(2)雪花模型(3)星型模型 VS 雪花模型(四…

【iobit 软件】家族系列 - 正版激活码

装机必备iobit系列软件 - 激活码获取看最后 第一款、Advanced SystemCare 16 您需要的人工智能驱动的PC优化器,以释放磁盘空间,加速PC并保护在线隐私。 功能特点: 1. 系统清理与优化:通过清除系统垃圾文件、注册表信息、无用文…

智能微型断路器在某银行网点的设计与应用

安科瑞 耿敏花【摘要】:随着人工智能、移动互联等现代信息技术和通信技术在电力行业的应用,实现电力系统各个环节人机交互、万物互联,打造状态全方面感知、信息合理处理、应用便捷灵活的泛在电力物联网已成为必然趋势 。本文主要对智能微型断…

后羿采集器快速入门----一款没有编程经验也能轻松使用的数据采集软件

后羿采集器快速入门 一、前言 不知道大家有没有苦恼于如何快速获取网页上的数据?想要进行大量重复性的操作但又要花费大量时间经历学习爬虫,这对于没啥编程基础的朋友们来说简直太不友好了!那么有没有一个软件,能够通过傻白甜式…

【设计模式】代理模式

代理模式 为某个对象提供一种代理,以控制其他对象对这个对象的访问。属于结构型模式。 某些情况下,一个对象A不适合或者不能引用、直接访问某个对象B,而代理对象可以在客户端A和目标对象B之间起到中介作用 代理模式主要有三个重要角色: 抽…

【推拉框-手风琴】vue3实现手风琴效果的组件

简言 在工作时有时会用到竖形手风琴效果的组件。 在此记录下实现代码和实现思路。 手风琴实现 结构搭建 搭建结构主要实现盒子间的排列效果。 用flex布局或者其他布局方式将内容在一行排列把每一项的内容和项头用盒子包裹, 内容就是这一项要展示的内容&#xf…

python16行代码获取原神全角色+全语音

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 本来是不玩原神的,但是实在是经不住双重诱惑呀~ 毕竟谁能拒绝角色风景超级好看又可以爬树、炸鱼、壶里造房子、抓小动物、躲猫猫的游戏捏~ 今天点进官网~角色得配音让我沉陷其中,于是 我决定把他们爬…

数据库可视化开发工具内容介绍

在现代化办公环境中,数据管理的重要性不言而喻。对于企业来说,将企业内部的数据做好规划和管理,可以给企业提升办公协作效率,为企业高层做出正确的经营决策奠定基础。本文主要给大家介绍的是数据化可视化开发工具的内容&#xff0…

狂神Springmvc,404,500错误解决办法(灵)

b站狂神springmvc404&#xff0c;500解决办法 首先校验各个文件是否正确 配置web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSche…

HLS协议有哪些特别优势

阿酷TONY / 2023-3-3 / 长沙 可以实现码率的动态自适应&#xff0c;清晰度动态成为可能&#xff1b;HLS是基于HTTP 协议的&#xff0c;更易于做各平台的适配与兼容&#xff1b;多终端跨平台的支持性&#xff1a; PC端, Android端, IOS 平台&#xff0c;微信之类的都支持&am…

C++中邻接矩阵、邻接表、链式前向星具体用法及讲解

图论在提高组中几乎占据半壁江山&#xff0c;而今天要讲的就是如何存储一个图一.邻接矩阵原理要建立一个图&#xff0c;根本的要素就是边和点而想要让计算机存储边和点就需要用到一些数据结构邻接矩阵是最简单的他使用了一个二维数组&#xff0c;来表示一个图假设数组名为map那…

彻底搞清楚内存泄漏的原因,如何避免内存泄漏,如何定位内存泄漏

作为C/C开发人员&#xff0c;内存泄漏是最容易遇到的问题之一&#xff0c;这是由C/C语言的特性引起的。C/C语言与其他语言不同&#xff0c;需要开发者去申请和释放内存&#xff0c;即需要开发者去管理内存&#xff0c;如果内存使用不当&#xff0c;就容易造成段错误(segment fa…

Spark Streaming DStream转换

DStream上的操作与RDD的类似&#xff0c;分为Transformations&#xff08;转换&#xff09;和Output Operations&#xff08;输出&#xff09;两种&#xff0c;此外转换操作中还有一些比较特殊的算子&#xff0c;如&#xff1a;updateStateByKey()、transform()以及各种Window相…

打造优秀项目团队的3个核心原则

优秀的项目团队必须是高绩效的&#xff0c;而打造这样优秀团队需要3个核心原则&#xff1a;共同的目标、专业的技能和高效的协作。 1、共同的项目目标 项目团队的共同目标就是实现项目的交付成果。项目经理以远景宏大的方式将目标传递给团队成员&#xff0c;以激发团队成员的战…

jeesite多环境配置

jeesite多环境配置 参考网址&#xff1a; https://blog.csdn.net/shaoming314/article/details/129115912?spm1001.2014.3001.5501 开源项目地址&#xff1a; https://gitee.com/thinkgem/jeesite Spring Spring MVC mybatis Ehcache shiro mysql jsp (主要技术栈) 项目…