简单内存泄漏检测方法,解决Detected memory leaks!问题
2016-01-13 00:00
429 查看
摘要: 工作环境:WIN7,VS2010:
最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。
解决方法
1、在程序开始的地方,加上代码:_CrtSetBreakAlloc(1654); //1654为上面内存泄漏的块号。
2、用Debug模式运行,程序自动断点在“内存块1654”分配的位置。
3、这个时候一直利用“调试”-“退出”,或快捷键“SHIFT+F11”跳转,直到看到了自己的代码。
4、检查自己在该代码中分配的内存块,是否进行了合理的释放。
最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。
Detected memory leaks! Dumping objects -> {1654} normal block at 0x01CC1B28, 40 bytes long. Data: 54 00 69 00 63 00 6B 00 65 00 74 00 20 00 69 00 {1650} normal block at 0x01CC1BF0, 16 bytes long. Data: 64 6B E8 95 68 79 0D 4E FD 80 7F 4F 28 75 00 00 Object dump complete.
解决方法
1、在程序开始的地方,加上代码:_CrtSetBreakAlloc(1654); //1654为上面内存泄漏的块号。
2、用Debug模式运行,程序自动断点在“内存块1654”分配的位置。
3、这个时候一直利用“调试”-“退出”,或快捷键“SHIFT+F11”跳转,直到看到了自己的代码。
4、检查自己在该代码中分配的内存块,是否进行了合理的释放。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Erlang项目内存泄漏分析方法
- Delphi实现检测并枚举系统安装的打印机的方法
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- 详解SQL死锁检测的方法
- C#检测pc光驱里是否插入了光盘的方法
- C#检测远程计算机端口是否打开的方法
- C++联合体转换成C#结构的实现方法
- C#实现回文检测的方法
- C#检测DataSet是否为空的方法
- UTF-8 编码中BOM的检测与删除
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析