最近在弄关于内存泄漏的问题,快崩溃了。。。救助大神!!!!

hylh112er hylh112er 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我尽量把问题描述清楚:我在MFC下做了一个界面,里面有四个模块儿(其实主要有三个),分别是:读入一幅图像、去噪、模糊核估计、反卷积。这四个过程是连续的,不是并行处理的。

算法我是用matlab研究仿真的(本质上我是做算法研究的。。),然后呢,我想把它做成一个软件,所以就在MFC下作了这样一个界面。
至于代码,我先解释一下,首先matlab的coder工具可以将matlab的函数文件在一定条件下转成独立的C/c++代码,这个我事先研究过了,并发表了论文,没什么问题。所以一开始,我直接将去噪、模糊核估计、反卷积的代码转成了C++代码(转的过程也很痛苦,因为算法相对比较复杂,这也是我不自己编写的原因!!),后来想还是自己手写的更好,出于简单考虑,我只自己编了第一个,也就是去噪的代码。后两个实在太复杂,我只能转了。转的代码虽然看着很乱,但其实写的挺完善。

现在出现的问题是,当运行到第二个模块儿,也就是模糊核(PSF)估计的时候,极其容易卡死,就是很容易出现停止工作的字样。这里需要提的是没有出现死循环;我还未设置多线程;

很多人告诉我是内存泄漏的问题,我从网上找了这么一个函数对:_CrtMemState s1, s2, s3;_CrtMemCheckpoint(&s1);{代码块}; _CrtMemCheckpoint(&s2); if(_CrtMemDifference(&s3, &s1, &s2));_CrtMemDumpStatistics(&s3);
然后,我抛开MFC,以新的工程的形式单独测试几个模块儿,然后发现了一下问题:
1、第一个模块(去噪),是我自己写的代码,测试结果如下:
1)检测调用函数之前的声明部分,显示一定的数值,这个可以理解,因为分配了内存还未使用;
2)单独检测调用的函数(即我自己写的函数代码),结果是0,没问题;
3)然后整个测试流程,最后把结果free掉之后,没有任何内存泄漏;
4)在最后free之前,也就是包含声明和调用函数两部分,有内存泄漏,但是数值和检测声明部分相同!!(可见,第一个模块儿没什么问题!)
2、后两个模块儿结果时一样的:
1)检测调用函数之前的声明部分,显示一定的数值,这个可以理解,因为分配了内存还未使用;
2)单独检测调用的函数(即转的的函数代码),结果是0,没问题;
3)问题在这里:在最后free之前,也就是包含声明和调用函数两部分,有内存泄漏,而且数值相比声明部分的急剧增加!!比如:380865039 bytes!(是不是很大啊?)
这个我就不理解了,这是什么原因造成的呢?

我是通信专业的,一般的编程还可以,可是这种问题从未碰到过,很多人给我稍微解释就算了,我也不好意思使劲问,但是确实自己不熟,而且我时间有限,还希望大神不吝赐教!!我分不多,解决的我全给了!!!
...全文

相关推荐

Android内存泄漏的轻松解决方法

在Android开发中,内存泄漏是一个常见的问题,它会影响应用程序的性能,并可能导致应用程序崩溃。

weixin_38691669

内存不足引发C++程序闪退崩溃问题的分析与总结

本文在多年项目实践的基础上,详细总结一下内存不足的相关问题场景以及内存不足引发程序异常的具体原因,供大家借鉴或参考。

dvlinker

移动端内存泄漏监控:如何预防OOM崩溃

移动端(Android/iOS)设备内存资源有限(常见手机内存8GB-16GB,但应用可用内存通常被限制在几百MB),内存泄漏会导致应用内存占用持续增长,最终触发OOM(Out Of Memory,内存不足)崩溃。本文覆盖内存泄漏的基础概念、监控工具使用、常见泄漏场景分析及预防方法,适合Android/iOS开发工程师阅读。本文从生活案例引出内存泄漏,用“餐厅收盘子”类比解释核心概念;通过LeakCanary等工具讲解监控原理;结合实战代码演示如何定位泄漏;最后总结常见泄漏场景和预防策略。

AI Native APP 开发前沿

【C++内存泄漏】使用Windbg排查C++程序内存泄漏问题

详细讲述如何使用Windbg去定位Windows C++程序中的内存泄漏。

dvlinker

解决vue自定义指令导致的内存泄漏问题

然而,不当使用自定义指令可能会引发内存泄漏问题,尤其是在涉及事件监听器时。本文将深入探讨这个问题,并提供解决方案。内存泄漏是指程序中已不再使用的对象或资源无法被正常释放,导致系统资源浪费。

weixin_38713039
评论 9
收藏 已收藏
分享
返回顶部
hylh112er
C++ 语言 65,214 成员 250,514 内容