visual leak detector 在vc6.0下使用怎么检测不到内存泄露
使用的是visual leak detector 1.0版本,将.h文件拷贝到Visual C++的默认include目录下,将.lib文件拷贝到Visual C++的默认lib目录下。以下是一个网上的测试程序:
include <vld.h>
#include <stdlib.h>
#include <stdio.h>
void f()
{
int *p = new int(0x12345678);
printf("p=%08x, ", p);
}
void main()
{
f();
}
以下是本该检测出来的泄露,但我测试的时候并没有检测出来 why?????????????
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 57 at 0x003A89C0: 4 bytes ----------
--57号块0x003A89C0地址泄漏了4个字节
Call Stack: --下面是调用堆栈
d:\test\testvldconsole\testvldconsole\main.cpp (7):
f --表示在main.cpp第7行的f()函数
d:\test\testvldconsole\testvldconsole\main.cpp (14):
main –双击以引导至对应代码处
f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c (586):
__tmainCRTStartup
f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c (403):
mainCRTStartup
0x7C816D4F (File and line number not available):
RegisterWaitForInputIdle
Data:--这是泄漏内存的内容,0x12345678
78 56 34 12 xV4..... ........
Visual Leak Detector detected 1 memory leak.