我试图找到一个重大的内存泄漏(一次15MB,但在多个地方做这样的分配)。我检查了最明显的地方,然后使用了AQTime,但我仍然无法找到它。现在我看到左边2种选择:使大内存分配过程崩溃
1)使用SetProcessWorkingSetSize:我试过,但我高兴地过程中使用了更多的则150MB当运行保持:分配更多的时候
DWORD MemorySize = 150*1024*1024;
SetProcessWorkingSetSize(GetCurrentProcess(), MemorySize/2, MemorySize*2);
2)把一个断点然后一次1MB。我该如何做到这一点,超载运算符新的'如果> 1MB'在里面?
你在哪里得到15MB号码?操作系统声称你的进程使用了多少空间?很多时候标准库会分配比您请求的更多的内存,并保留下一个新的内存。例如,1000个15K的分配仍然可能显示为一次泄漏15MB。 – 2010-04-12 17:32:28