qt程序运行,有时候出现内存错误
2016-02-19 18:15
302 查看
第一次提示:*** glibc detected *** ./Jammer: free(): invalid pointer: 0x00041340 ***
第二次提示:*** glibc detected *** ./Jammer: corrupted double-linked list: 0x00023860 ***
该提示说明有内存错误。
我本地运行50次,都不出现一次。搞到机器上跑,问题就出现了。上网查的都是说new了之后没有释放,我的是QT程序,都是继承制QObeject的,qt有自动回收机制,更何况我的界面程序一直保持运行状态,所有的new的资源,在程序不结束就不能释放,所以我一直不相信是new的问题。仔细想想我的两次测试环境,不同的就是通过网络传过来的数据,我本地测试是我自己写的数据,网络中对方收集环境中的数据发给我,所以我开始怀疑是数组越界了,我多次测试发现程序挂掉后会出现-10.000000这么个数据,而我定义存放他的数组是char
sinr[10],所以我确定可能是越界了。回头分析error日志发现,每次奔溃前都会有这个数据出现,最后我确定了,然后改为20个字节,测试了50次没有挂掉。
第一次挂:
第二次挂:
第二次提示:*** glibc detected *** ./Jammer: corrupted double-linked list: 0x00023860 ***
该提示说明有内存错误。
我本地运行50次,都不出现一次。搞到机器上跑,问题就出现了。上网查的都是说new了之后没有释放,我的是QT程序,都是继承制QObeject的,qt有自动回收机制,更何况我的界面程序一直保持运行状态,所有的new的资源,在程序不结束就不能释放,所以我一直不相信是new的问题。仔细想想我的两次测试环境,不同的就是通过网络传过来的数据,我本地测试是我自己写的数据,网络中对方收集环境中的数据发给我,所以我开始怀疑是数组越界了,我多次测试发现程序挂掉后会出现-10.000000这么个数据,而我定义存放他的数组是char
sinr[10],所以我确定可能是越界了。回头分析error日志发现,每次奔溃前都会有这个数据出现,最后我确定了,然后改为20个字节,测试了50次没有挂掉。
第一次挂:
第二次挂:
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- IE7降低内存和降低CPU的几个技巧
- 如何高效的使用内存
- DOS下内存的配置
- XP/win2003下发现1G的内存比512M还慢的解决方法
- PowerShell实现动态获取当前脚本运行时消耗的内存
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL语句实现查询SQL Server内存使用状况
- C语言内存对齐实例详解
- 深入学习C语言中memset()函数的用法
- 全局变量与局部变量在内存中的区别详细解析
- VB读取线程、句柄及写入内存的API代码实例
- php运行提示:Fatal error Allowed memory size内存不足的解决方法
- IE浏览器IFrame对象内存不释放问题解决方法
- C#之CLR内存深入分析
- JavaScript 变量、作用域及内存
- JavaScript避免内存泄露及内存管理技巧
- Qt定时器和随机数详解
- J2ME编程中的几个重要概念介绍