我有一个ANSI C ++应用程序,它正在泄漏内存。当我在Windbg中查看它时,我发现特定的堆正在使用!heap -s命令,但是当我使用!heap -stat -h命令调查堆中的对象数时,堆中的对象数量两个不同的内存快照之间没有那么多增长。在这种情况下,堆增长了6GB,但堆中所有新对象的数量并不多。在!heap -s命令的输出中,我看到“List Length”列几乎是double。我没有找到任何关于此列的文档,我假设它是堆中的块数。是否有可能,代码正在删除内存,但该块没有被堆释放?我们不使用任何Heap API,它是C ++ new,并且正在使用delete函数来分配和删除内存。
-Thanks,
-Brajesh