内存泄露

#ifdef _DEBUG
#define new new(_NORMAL_BLOCK, THIS_FILE, __LINE__)
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

class FindMemoryLeaks
{
    _CrtMemState m_checkpoint;
public:
    FindMemoryLeaks()
    {
        _CrtMemCheckpoint(&m_checkpoint);
    };
    ~FindMemoryLeaks()
    {
        _CrtMemState checkpoint;
        _CrtMemCheckpoint(&checkpoint);
        _CrtMemState diff;
        _CrtMemDifference(&diff, &m_checkpoint, &checkpoint);
        _CrtMemDumpStatistics(&diff);
        _CrtMemDumpAllObjectsSince(&diff);
    };
};

可以在main之前用FindMemoryLeaks test,这样也可以检查,原理是快照的比对,不过对于全局类和静态类会有误报的情况

posted @ 2011-07-06 16:28  宇月--测试开发梦想家  阅读(217)  评论(1编辑  收藏  举报