zoukankan      html  css  js  c++  java
  • VC++内存泄漏检测工具VLD使用方法

    一、使用配置
    0. 下载Visual Leak Detector for Visual C++ 2008-2015最新版时V2.5.1支持到VC2015,官方地址:Visual Leak Detector for Visual C++ 2008-2015 - CodePlex Archive (Github也有源码可以下载自己编译)
    1. 设置include目录(VS:C/C++ -> 常规 -> 附加包含目录; Qt Creator里面1 2 3步可以直接在项目右键添加库时完成或者直接.pro文件按照动态库的添加方式)
    2. 设置lib目录(VS:链接器 -> 常规 -> 附加库目录)
    3. 设置lib文件为vld.lib(VS:链接器 -> 输入 -> 附加依赖项)
    4. 拷贝bin目录下对应平台32/64位的dll那几个文件到编译输出的exe目录下
    5. 在main函数所在源文件添加vld的头文件 #include <vld.h>

    二、使用注意
    0. 只能在Debug模式调试,Release模式不会链接VLD
    1. 只能检测程序执行过的代码中的内存泄漏,即如果你像检查哪一段代码是否有内存泄漏,则必须让程序先触发执行一遍那段代码
    2. 只支持VC++编译器,Qt中使用则必须使用MSVC版本(可以先用MSVC来调试,没问题之后可以转MinGw编译Release)
    3. Qt中如果调用对象的deleteLater()方法释放内存,则会被判定为内存泄漏,但是对于指定父对象的没有显式delete的并不会判为内存泄漏。
       所以QT中如果想显式的释放一个对象最好用delete而不是调用对象的deleteLater()方法,这样才能被VLD检测到并且不会被误判。
    4. 可以修改VLD的一些参数设置,即vld.ini文件中的设置参数,比如可以将检测信息定向到文件,默认是输出到调试器
    ReportFile = 可以设置输出的文件
    ReportTo = debugger # 默认是输出到调试器,如果要输出到文件需要改为file,也可以是both
    StackWalkMethod = fast # 检测模式,默认是快速,可以设为safe,这样检测会更强但是效率会降低
    ————————————————
    版权声明:本文为CSDN博主「DJH5520」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Dream_5520/article/details/115721501

  • 相关阅读:
    NodeJS学习笔记之Connect中间件模块(一)
    XML CDATA节点
    6个强大的AngularJS扩展应用
    java使用poi读取ppt文件和poi读取excel、word示例
    Java log4j详细教程
    JAVA8 十大新特性详解
    Express 路由
    基于 Node.js 平台,快速、开放、极简的 web 开发框架。
    Node.js 手册查询-1-核心模块方法
    Node.js 手册查询-2-MongoDB数据库方法
  • 原文地址:https://www.cnblogs.com/djh5520/p/14680111.html
Copyright © 2011-2022 走看看