c++ 内存泄漏(Detected memory leaks)解决
来源:互联网 发布:bootp端口号 编辑:程序博客网 时间:2024/05/21 11:23
最近看到关于内存泄漏的查找的文章,供大家学习:
Detected memory leaks!Dumping objects ->{98500} normal block at 0x05785AD0, 152 bytes long. Data: << N N x 7 > 3C AC 4E 10 00 00 00 00 BC A4 4E 10 78 B6 37 00 Object dump complete. 而且每次退出都是一样的.泄漏的内存块都是98500.
解决方法:
1. 在程序开始启动的地方(足够前的地方,只要在泄漏的内存分配的前面)使用代码:
_CrtSetBreakAlloc(98500); //98500为上面内存泄漏的块号.
2. 然后debug运行,程序自动断点在"内存块98500"分配的位置:
/* break into debugger at specific memory allocation */if(_crtBreakAlloc != -1L && lRequest == _crtBreakAlloc) _CrtDbgBreak();
3 .我们已经找到了泄漏的那块内存分配的底层操作的地方了(好拗口!).
这个时候我们利用 "调试" –> "退出" ,快捷键为:"Shift + F11" .
跳出当前函数..然后一直往"上"跳,边跳边查看调用栈.直到看到了自己写的代码,例如我的
std::ifstream* origStream =newstd::ifstream();
4 .这个时候我已经可以判断 origStream 分配了内存,但是没有合理释放.处理后再次运行就没有出现内存泄漏了.
5.最后,记得把_CrtSetBreakAlloc(98500); 这句话删除掉,不然每次都断点,岂不是烦死..
----------------------------------------------------------------------------------------------------------
写在后面:
关于内存泄漏检测,有一个Visual Leak Detector ,按照它的介绍的确很不错,可以直接具体到代码行指出内存泄漏,但是个人使用了一下,发现debug的速度太慢了,不知道是不是我个人程序的问题.......像上面的泄漏,我用CrtSetBreakAlloc这种简单的方法就足够了....
以上引用自“天津翔鹤的空间”。
本人也遇到了,但是我的显示{403}、{402}越来越小,懂的提示一下!不排除软件自身配置问题。
- c++ 内存泄漏(Detected memory leaks)解决
- c++ 内存泄漏(Detected memory leaks)解决
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks!
- 简单内存泄漏检测方法,解决Detected memory leaks!问题
- 简单内存泄漏检测方法 解决 Detected memory leaks!
- 简单内存泄漏检测方法 解决Detected memory leaks!
- 简单内存泄漏检测方法 解决 Detected memory leaks!
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks!
- 简单内存泄漏检测方法 解决 Detected memory leaks
- 简单内存泄漏检测方法,解决Detected memory leaks!问题
- 简单内存泄漏检测方法,解决Detected memory leaks!问题
- 简单内存泄漏检测方法 解决 Detected memory leaks
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- hadoop集群安装
- 黑马程序员_网络编程
- ios控制交互的实现——Start Developing iOS Apps Today——从今天开始开发IOS(IOS7版)系列源文档翻译(九)
- 关于c++下使用mysql的一些问题
- dojo+JBoss7设置URI编码为UTF-8,解决传参中文乱码问题
- c++ 内存泄漏(Detected memory leaks)解决
- 第二章 链路层 2.8最大传输单元MTU
- 《设计搜索体验:搜索的艺术与科学》迷你书
- 数据结构面试题(含答案)
- ubuntu通过键盘移动窗口
- Thinkpad 屏幕 调整颜色方法
- word中文字与公式混排,如何使其对齐?
- VS2010下编译OpenCV2.4.6静态库
- Fermat's Easy Problem