工做环境:WIN7,VS2010: spa
最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。 .net
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.
解决方法 调试
一、在程序开始的地方,加上代码:_CrtSetBreakAlloc(1654); //1654为上面内存泄漏的块号。 code
二、用Debug模式运行,程序自动断点在“内存块1654”分配的位置。 orm
三、这个时候一直利用“调试”-“退出”,或快捷键“SHIFT+F11”跳转,直到看到了本身的代码。 blog
四、检查本身在该代码中分配的内存块,是否进行了合理的释放。 内存