当前位置: 代码迷 >> QT开发 >> Qt 运行一段时间后忽然退出
  详细解决方案

Qt 运行一段时间后忽然退出

热度:175   发布时间:2016-04-25 03:04:49.0
Qt 运行一段时间后突然退出
问题: 自己编了一个Qt的程序,用于计算,但是当计算步骤多了,减小迭代步长后,程序运行一段时间后突然退出了。减小计算步骤之后,比如只算前几步,计算结果正确,这表明我的程序算法没有语法错误,但是不知为啥计算步骤一多就退出了。现在排除了分母为0, 矩阵奇异化等问题的影响了,还是不知道为啥会退出,调试过程中好像出现过out of memory 的错误,但是个人感觉程序的结构不算大,电脑的内存可以胜任大型游戏,运行我这个程序应该没有问题的。如果真是内存管理上出了问题,该怎么解决呢,或者是由于其他什么问题?

------解决思路----------------------
你内存new/malloc完了以后有没有delete/free过,这是很明显的内存泄漏

函数中,分配在栈上的空间在函数结束时会被释放
类中,分配在栈上的空间在类销毁的时候会被释放——如果你同时有多个类的实例的话那就会用掉大量内存

自动释放的内存不包括你明确向操作系统索要的空间——即new和malloc

而且,6x400的矩阵能占多大空间,就算元素全是双精度浮点,一百个矩阵也就1.831MiB的大小

操作系统要是Linux的话,那Valgrind跑一下,看看到底是哪里漏了内存