错误提示:

最近遇到一个有点意思的现象,一份代码运行正常,但是只要在代码中添加了一个QTimer变量,则程序退出时异常结束,错误提示如下:

double free or corruption (!prev)
16:15:03: 程序异常结束。
16:15:03: The process was ended forcefully.

当然,个人猜测肯定不单单是因为这个变量加入的原因,看错误提示是内存多次释放导致的,但是找了一下也没找到地方,应该是整个代码写得不太好,这个变量的定义触发了其他错误。

头文件如下:

#ifndef LANMANAGERSO_H
#define LANMANAGERSO_H#include <QWidget>
#include "LanManagerSo_global.h"#include <QKeyEvent>
#include <QMenu>#include "Configure.h"
#include "tablemodel.h"
#include "tasksinterface.h"
#include "scanclients.h"namespace Ui {
class LanManagerSo;
}class LANMANAGERSO_EXPORT LanManagerSo : public QWidget
{Q_OBJECTpublic:explicit LanManagerSo(QWidget *parent = nullptr);~LanManagerSo();//接口
public:void btn_rescan_clicked(){on_btn_rescan_clicked();}void btn_apply_clicked(){on_btn_apply_clicked();}void btn_start_clicked(){on_btn_start_clicked();}public slots://Mastervoid uploadProgress(qint64, qint64);void uploadFinished();private slots:void enableRescanButton(bool bFinished);void checkScanResult();void showScanResult(const QList<ClientInfo>& lClients);void showToolTip(const QModelIndex &index);void CheckTestDataProgress();void updateProgressValue();void updateProgressValue(qint64 cur, qint64 total, const QString& strHost);void ouputInfomation(const QString& strInfo);void ouputInfomation(bool, const QString& strInfo);private slots:void on_menuBtn_clicked();void on_minBtn_clicked();void on_nomalBtn_clicked();void on_closeBtn_clicked();void on_btn_rescan_clicked();void on_btn_apply_clicked();void on_btn_start_clicked();private:bool checkIfLeftClients();bool setIfLeftClients();void updateTableViewClients();private:Ui::LanManagerSo *ui;bool m_bMousePressed;_config_s m_cfg;ScanClients* m_pSS;QList<ClientInfo> m_lClients;std::vector<ClientInfo> vSelectClients;QTimer m_checkTestDataTimer;QTimer m_clientResponseTimer;QTimer m_testTimeoutTimer;QTimer m_progressTimer;TableModel* m_pTableModel;TasksInterface* m_pTi;QPoint m_pointStart;QPoint m_pointPress;QAction *m_AactionAboutQt;QMenu *m_menu;void changeEvent(QEvent* event);void keyPressEvent(QKeyEvent* event);void resizeEvent ( QResizeEvent * event );void mouseMoveEvent(QMouseEvent *);void mousePressEvent(QMouseEvent *);void mouseReleaseEvent(QMouseEvent *);//成员变量初始化;void initData();void loadBackground();void setTableViewColumWidth();QString atuoShowMB(const int& nMB);
};#endif // LANMANAGERSO_H

而如果注释掉这个变量:

则程序正常退出:

exited with code 0

需要说明一下的是,这个函数本身导出了库,而且函数本身有点复杂,所以这个问题并不能单单认为是这个变量引起的错误。

另外,这个错误换了几台机器依然可以复现,目前暂未找到解决办法,暂时选择了禁用这个变量,因为经过尝试改变量名称错误依然存在。

定义QTimer引发的异常:double free or corruption (!prev)相关推荐

  1. [转]double free or corruption (!prev): 0x080644c8 ***

    写了一个多线程的代码,在主线程中申请了一块内存,在另一个线程中释放内存,老出错误,不知道是怎么回事. *** glibc detected *** /home/ydx/vehicle-program/ ...

  2. c语言代码re通常什么错误,C语言,realloc动态内存申请,出现报错double free or corruption (!prev)...

    程序大概如下: #include #include #include #include #include #define MALLOC(num,type) (type*)alloc((num)*siz ...

  3. double free or corruption (!prev)

    环境:linux,g++4.9,qt4.8.7 关闭应用程序时崩溃,下面是qtcreator应用程序输出窗口信息: *** Error in `/home/test/source/Ofd_Pro_Ma ...

  4. vscode pytorch在debug时遇到问题:Error in `python‘: double free or corruption (prev)

    问题描述:在做一个深度学习计算机视觉的项目时,直接clone下来的代码可以在vscode里正常运行,但是debug时出现error,报错信息为: *** Error in `python': doub ...

  5. C 编程异常 — double free or corruption (fasttop)

    问题:运行代码的时候程序崩溃. *** Error in `./parsing': double free or corruption (fasttop): 0x00000000023d2350 ** ...

  6. c++ double free or corruption (!prev)

    最简单方法: if (p) {                                                                                     ...

  7. double free or corruption的原因

    为什么80%的码农都做不了架构师?>>>    先来段代码: #include <stdio.h> #include <malloc.h>#define DE ...

  8. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。...

    下面的代码在编译,运行时没有问题,在输入内容是出现异常如下: 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00 ...

  9. 什么是引发?Java运行时系统引发的异常如何处理?

    到目前为止,你只是获取了被Java运行时系统引发的异常.然而,程序可以用throw语句引发明确的异常.Throw语句的通常形式如下: throw ThrowableInstance; 这里,Throw ...

最新文章

  1. [译]通过使用Chrome的开发者工具来学习JavaScript
  2. 1.11. java 脚本引擎
  3. 全球 IPv4 地址耗尽,IPv6 来了!
  4. 你知道char *s和char s[]的区别吗?
  5. 4月还完债务,“真还传”大结局?罗永浩回应:纯属造谣...
  6. 献给支持51CTO博客的博友们-----做自己喜欢的事情
  7. Unix网络编程---第一次作业
  8. # 笔记2021-11
  9. 拓端tecdat|把握出租车行驶的数据脉搏 :出租车轨迹数据给你答案!
  10. VS2017 安装xamarin 开发安卓程序教程
  11. 微信小程序打开文档功能
  12. cad2012打开后闪退_【电脑安装好cad一打开闪退】cad安装完打开闪退_cad2012打开闪退...
  13. win10记得pin码 重置密码登录
  14. Apple 公司开发者账号注册
  15. OAuth2学习(一)——初识OAuth2
  16. ffmpeg 命令 监控屏幕,摄像头 udp推流 收流 。 包括低延迟处理
  17. Mac 关闭Cisco AnyConnect 开启启动
  18. 细述个人建站那点心酸往事
  19. 最全电商分类信息(05)
  20. 如何在微信公众号上传PDF文件?

热门文章

  1. 扇形展开的悬浮菜单按钮CircularFloatingActionMenu
  2. 图像处理 OpenCV简介
  3. 华为meit30有鸿蒙,有maet30pro和小主机m710q在快充路上的倔强
  4. vue 组件间的传值
  5. UESTC-1546___Bracket Sequence —— 线段树 + 括号序列
  6. Python 编写个情人节求爱对联
  7. 做一个微信小程序多少钱?
  8. 机器学习之量化交易-获取最大收益
  9. 【支付系统学习笔记】-二支付设计(银行卡支付)
  10. 机器学习:非监督学习