OpenCV 释放 vector 内存莫名崩溃的问题

简介: OpenCV 释放 vector 内存莫名崩溃的问题

当我想通过 swap 释放成员变量的 vector的内存时,总是Crash,断点进去Crash的位置也很诡异:

Crash 位置 :

image.png

还以为是内存没有对齐的问题,结果加了

#pragma pack(4) // 1, 2, 4

也是枉然。。。 T_T

 

 

局部变量vector的自动释放 Crash 位置:

image.png

而且同样的代码在OpenCV 3.1.0上是正常的!



诡异的我都快怀疑人森的时候,终于上帝让我找到了这篇文章!


看到最后一句,才回想起来自己的OpenCV2.4.12 是由 VS2012 编译的(当初编OpenCV+CUDA,发现最高仅支持VS2013,而我机子上除了VS2015就是VS2012,所以将VS2012设为默认的CMAKE 编译器),而自己默认的开发 IDE却是 VS2015,才导致了这么诡异的问题。。。(类似的 cout  打印  Mat 的时候也会异常崩溃,也是这个原因)



仅做记录,以防再犯


附:意外收获


 


目录
相关文章
|
存储 Cloud Native Linux
C++ vector内存增长机制
C++ vector内存增长机制
|
5月前
|
监控 算法 Java
Java虚拟机(JVM)使用多种垃圾回收算法来管理内存,以确保程序运行时不会因为内存不足而崩溃。
【6月更文挑战第20天】Java JVM运用多种GC算法,如标记-清除、复制、标记-压缩、分代收集、增量收集、并行收集和并发标记,以自动化内存管理,防止因内存耗尽导致的程序崩溃。这些算法各有优劣,适应不同的性能和资源需求。垃圾回收旨在避免手动内存管理,简化编程。当遇到内存泄漏,可以借助VisualVM、JConsole或MAT等工具监测内存、生成堆转储,分析引用链并定位泄漏源,从而解决问题。
54 4
|
6月前
|
存储 Java
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
|
6月前
|
监控 Linux
【专栏】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。这 5 个命令堪称绝了!
【4月更文挑战第28天】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。本文介绍了 5 个常用的检查内存命令:1) `free` 提供内存和交换区的详细信息;2) `top` 显示进程信息及内存使用;3) `vmstat` 输出系统综合信息,包括内存动态变化;4) `pidstat` 监控特定进程的内存使用;5) `/proc/meminfo` 文件提供系统内存详细数据。了解和使用这些命令能帮助用户及时发现并解决内存相关问题,确保系统稳定运行。
80 0
|
6月前
|
计算机视觉
OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。
OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。
|
6月前
|
计算机视觉 C++
win7系统OpenCV读取图片内存位置异常
win7系统OpenCV读取图片内存位置异常
152 0
|
存储 API C++
C++ std::vector元素的内存分配问题
在使用C++ STL的vector时,下面三种写法有什么不同呢?其内存分配是怎么样的呢? 首先,说结论吧(假设T是一个定义好的类): 对于std::vector<T> vec;这种方式vec在栈上(stack),而其中的元素T保存在堆上(heap); 对于std::vector<T>* vec = new std::vector<T>();这种方式vec和其中的元素T都保存在堆上; 对于std::vector<T*> vec;这种方式vec在栈上(stack),而其中的元素T保存在堆上(heap);和第一种情况类似。
174 0
|
计算机视觉 Windows
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)_解决内存释放问题
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)_解决内存释放问题
379 0
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)_解决内存释放问题
|
计算机视觉 C++ Windows
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
466 0
解决MFC使用OpenCV动态库会误报内存泄露的问题(太多人遇到这个问题了)
|
存储 监控 Java
1个小时接入友盟+ U-APM:解决移动应用崩溃、性能、内存的云监控分析
本文主要是一次产品需求讨论之后的功能论证,公司正式的APP接入友盟+ U-APM还未上线。而本文也是花了一个小时尝试接入U-APM的一种实验,过程比较顺利,而产品部对于这种性能指标的监控方式也比较认可,毕竟一次接入之后就可以实现多种应用。而友盟+ U-APM的功能不止于此,后续对于U-APM的深入对接也不会止步。
1个小时接入友盟+ U-APM:解决移动应用崩溃、性能、内存的云监控分析