BoundsChecker 检查内存泄露

程序跑完一副图片后就少了10几M内存,自己瞄来瞄去,仍然不晓得哪里漏掉了删除指针。

于是想找工具BoundsChecker 来检测一下。

设置了 BoundsChecker  BoundsChecker 检查内存泄露_第1张图片

 

在 Debug 中跑起来看,检查的错误全部都是系统DLL的内存分配冲突,分配与删除不在同一个模块内。

BoundsChecker 检查内存泄露_第2张图片 

困惑中。

后来无意中 在BoundsChecker  的选项中选中 Rebuild All with BoundsChecker  ,把整个工程build一下,再debug的时候就发现好几种其他的错误。其中一个就是 Memory leak,点过去一看,果然是这个问题。

     if ( _r != NULL )
        delete _r;
    _r 
=  NULL;

    
if ( _g = NULL )   //  就这里错啦,应为:_g!=NULL
        delete _g;
    _g 
=  NULL;

    
if  ( _b != NULL )
        delete _b;
    _b 
=  NULL;

再运行一次,果然没问题了。

你可能感兴趣的:(null,delete,dll,Build,工具,leak)