读书人

加入了_CRTDBG_MAP_ALLOC但是显示的

发布时间: 2012-01-16 23:36:51 作者: rapoo

加入了_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吧,它可以得到内存泄漏相关的调用堆栈。

读书人网 >VC/MFC

热点推荐