检测程序性能和是否存在内存泄露

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38126105/article/details/85058920

对于一个c++程序,内存泄露几乎是我们无法避免的问题,我们也无法直观的知道内存是否泄露,一个程序的瓶颈在什么地方?这时候,我们就需要借助一个工具,来进行分析,作为宇宙最强大的IDE,VS当然提供了不错的性能探查器。
作者发现通过该工具成功的降低了内存的占用,以及发现了程序中耗时严重的函数。
这时我的一些心得,在c++中,有些时候,我们我们会在容器中存储大量的数据,但是当我们执行完特殊的步骤之后,就不再需要容器了,而这时就需要考虑释放容器占据的内存。如果我们插入的元素空间是由容器自己分配的,则可以直接调用clear()进行容器内存的释放,如果容器插入的元素的空间不是由自己分配的(即插入的元素是指向一块new出的内存),则我们需要遍历整个容器将元素的空间释放掉(delete),同时在调用clear();
下来是该工具的简单使用:

  1. 启动工具
    在这里插入图片描述
  2. 选择启动方式,默认的是启动项目,就是当前的程序编译后,直接进行启动分析。我们也可以使用attach 到进程上进行分析等等。
    在这里插入图片描述
    3.根据需要选择工具,
    在这里插入图片描述4.点击启动
    在这里插入图片描述
    5.选择自己感兴趣的信息,分析,如图OnBnClickedOk就是程序的瓶颈。https://www.cnblogs.com/TianFang/archive/2012/11/18/2776266.html,该文解释了下图的一些基本概念。工具本身很容易操作,但是却很有用,能很快的帮你找到一个程序的瓶颈,和发现程序是否泄露
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_38126105/article/details/85058920
今日推荐