_CrtMem *和调试堆

时间:2010-01-20 20:13:22

标签: c++ debugging memory-leaks

当我使用以下代码时,它会检测到内存泄漏。我怎么能不成功呢?

_CrtMemState startState;
_CrtMemState endState;
_CrtMemState temp;

_CrtMemCheckpoint(&startState);
const char* foo = "I'm not leaking memory! Stop saying I am!";
_CrtMemCheckpoint(&endState);

_CrtMemDifference(&temp, &startState, &endState);    // Returns true. Wtf?

1 个答案:

答案 0 :(得分:1)

我剪切并粘贴了你的代码并在VS2008下的机器上进行了测试,_CrtMemDifference返回0 ...

经常听到格言:“在我的机器上工作”;)

编辑:你有多个线程在运行吗?是否有可能另一个线程在2 _CrtMemCheckpoint调用之间分配了什么?