使用BoundsChecker查找内存泄露

来源:互联网 发布:讨厌的人 知乎 编辑:程序博客网 时间:2024/05/20 02:27

使用BoundsChecker查找内存泄露

标签: 工具2010腾讯
6815人阅读 评论(21)收藏举报
本文章已收录于:
分类:
作者同类文章X

        以前搞开发时,曾经写过类似的文章,不过带不出来,最近VS推出了新版VS2010,而BoundsChecker也推出了适用于vc6, vs2005,vs2008,vs2010的新版本,于是下载下来试了一下,和VC6下有一些不同.

     

        安装好BoundsChecker后,在VS工具栏有一个工具条

    ,由于BoundsChecker使用插桩的方式,来查找内存泄露,所以需要在编译的时候,来执行插桩操作,有一个开关,决定编译时是否使用BoundsChecker来插桩就是第五个,蓝色的图标,点中后,后面的编译条状态为有效,初始值Error detection,表示查错,点击第一个红色的图标旁边的小箭头,弹出下拉菜单,选择Start with Error Detection,开始插桩方式编译并调试运行。过程中如果弹出有的窗口,需要你提供系统源文件如afxwin2.inl,thrdcore.cpp

     

    选择“取消“,因为我们不需要查找系统文件中的错。随后会出现错误的源码位置,弹出一个标题上写了Program Error Detected的错误框

    .

    如果暂时不改,点击右下解的Continue继续.

     

       最后等到程序退出时,出现一个结果报告:

    双击最顶上的Memory Leaks Detected,可以看到有哪些地文件出现了内存泄露.在红色的错误上面右键->Edit Source就可以修改了。

     

     

       BoundsChecker适用于中小型代码量的项目.代码太多了,会很慢.比如在腾讯RTX的项目上使用(60~80万行代码),就基本用不了,太慢了.

    0
    0
     
     



    0 0
    原创粉丝点击