2
我写了下面的代码来故意创建内存泄漏。为什么在内存泄漏中只显示三个内存地址?
#include <windows.h>
int main(int argc, char* argv[])
{
while(1)
{
char *ch1 = new char[10];
char *ch2 = new char[5];
char *ch3 = new char[2];
Sleep(5);
}
return 0;
}
我一直在使用LeakDiag采取的日志,并使用如下LDGrapher图。
现在,我的问题是为什么只有三个地址显示在泄漏图中?我继续在while(1)
中创建新的指针,所以我在很多地址泄漏内存?
大概泄漏是由调用网站进行汇总? – 2014-08-31 13:38:25
@KerrekSB对不起,我不明白。 – 2014-08-31 13:39:42
代码中有3个地方会泄漏内存。你看到那3个地方。他们是*代码*地址,而不是数据地址。由于/ ZI编译选项,它们有很大的不同。 – 2014-08-31 13:54:56