首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

加入了_CRTDBG_MAP_ALLOC,但是显示的leak位置为crtdbg.h(552),该如何处理

2012-01-16 
加入了_CRTDBG_MAP_ALLOC,但是显示的leak位置为crtdbg.h(552)在代码中加入了#define_CRTDBG_MAP_ALLOC#inc

加入了_CRTDBG_MAP_ALLOC,但是显示的leak位置为crtdbg.h(552)
在代码中加入了
#define   _CRTDBG_MAP_ALLOC
#include   <stdlib.h>
#include   <crtdbg.h>  
用于找出mem   leak的位置
但是发现打印出来的位置是
d:\program   files\microsoft   visual   studio\vc98\include\crtdbg.h(552)   :   {375}   normal   block   at   0x003E81B0,   12   bytes   long.
这个样子的话还是很不好找出leak的位置!
不知各位有什么好方法可以让其直接显示调用new的源代码位置,不要显示crtdbg.h里面的位置了!
谢谢了!


[解决办法]
通过代码应该没有很好的办法,建议用内存泄漏检查工具,或者使用映射文件
[解决办法]
用VLD吧,它可以得到内存泄漏相关的调用堆栈。

热点排行