Qt Creator 安装 VLD

article/2025/9/18 16:40:26

Qt Creator 安装 VLD

2015-04-14 16:52:55 你好L 阅读数 2325更多

分类专栏: qt

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/lin_jianbin/article/details/45044459

一、环境说明

1、VLD 内存检测工具,只能检测使用VC++编译器,不能用于检测MinGW编译器

  所以要检测 Qt内存泄露问题编译器一定要是MSVC。

环境要求:

 1、VLD 版本要2.X以上 不能使用1.X的版本。否则检测不准确,Qt检测会提示很多内存泄露。(本人使用vld-2.3-setup.exe)

 2、VC++编译器 即MSVC 如果有安装VS则就有这编译器

    D:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat

二、下载VLD

   (1) http://vld.codeplex.com/releases

   (2)

三、安装VLD

双击 vld-2.3-setup.exe

安装过程会弹出如下对话框,

 

选择是

安装完成 

本人安装的路径是 D:\VLD

新的版本解决了path问题,所以我们无需做过多的设置

 

四、配置Qt Creator

在 工具->选项 

构建和运行 --> 编译器

 

 

 

是否有vc++编译器 MSVC 如果没有 点击添加

构建和运行 --> 构建套件(Kit)

 

编译器选择

 

配置完成

 

五、VLD使用

   1、创建测试项目:使用QtCreator创建一个Qt GUI项目

修改.pro文件,添加如下内容:

 

win32{

    CONFIG(debug, debug|release) {

    INCLUDEPATH += D:/VLD/include

    DEPENDPATH += D:/VLD/include

    LIBS += -LD:/VLD/lib/Win32 -lvld

}

}

注:D:/VLD 为本人安装的路径

 

2、在main函数上面添加以下代码:

#ifdef _DEBUG

#include "vld.h"

#endif

 

六、测试

#include "widget.h"

#include <QApplication>

 

#ifdef _DEBUG

#include "vld.h"

#endif

 

int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

    Widget w;

    w.show();

    Widget *pWid= new Widget;

    //delete pWid;

    return a.exec();

}

 

测试结果:

Visual Leak Detector Version 2.3 installed.

WARNING: Visual Leak Detector detected memory leaks!

---------- Block 2 at 0x00D8EEB0: 24 bytes ----------

Call Stack:

e:\qttest\vldvstest\main.cpp (14): VLDVSTest.exe!main + 0x7 bytes

D:\Qt4.8ToVs2008\4.8.0\src\winmain\qtmain_win.cpp (131): VLDVSTest.exe!WinMain + 0x12 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (574): VLDVSTest.exe!__tmainCRTStartup + 0x35 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (399): VLDVSTest.exe!WinMainCRTStartup

0x7C81776F (File and line number not available): kernel32.dll!RegisterWaitForInputIdle + 0x49 bytes

Data:

14 7A 40 00 F8 EE D8 00 F0 79 40 00 00 00 CD CD .z@..... .y@.....

AC EF D8 00 F0 F0 D8 00 ........ ........

 

 

---------- Block 3 at 0x00D8F0F0: 1 bytes ----------

Call Stack:

e:\qttest\vldvstest\widget.cpp (7): VLDVSTest.exe!Widget::Widget + 0x63 bytes

e:\qttest\vldvstest\main.cpp (14): VLDVSTest.exe!main + 0x21 bytes

D:\Qt4.8ToVs2008\4.8.0\src\winmain\qtmain_win.cpp (131): VLDVSTest.exe!WinMain + 0x12 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (574): VLDVSTest.exe!__tmainCRTStartup + 0x35 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (399): VLDVSTest.exe!WinMainCRTStartup

0x7C81776F (File and line number not available): kernel32.dll!RegisterWaitForInputIdle + 0x49 bytes

Data:

CD ........ ........

 

 

Visual Leak Detector detected 2 memory leaks (97 bytes).

Largest number used: 134 bytes.

Total allocations: 134 bytes.

Visual Leak Detector is now exiting.

Visual Leak Detector Version 2.3 installed.

WARNING: Visual Leak Detector detected memory leaks!

---------- Block 2 at 0x00D8EEB0: 24 bytes ----------

Call Stack:

e:\qttest\vldvstest\main.cpp (14): VLDVSTest.exe!main + 0x7 bytes

D:\Qt4.8ToVs2008\4.8.0\src\winmain\qtmain_win.cpp (131): VLDVSTest.exe!WinMain + 0x12 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (574): VLDVSTest.exe!__tmainCRTStartup + 0x35 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (399): VLDVSTest.exe!WinMainCRTStartup

0x7C81776F (File and line number not available): kernel32.dll!RegisterWaitForInputIdle + 0x49 bytes

Data:

14 7A 40 00 F8 EE D8 00 F0 79 40 00 00 00 CD CD .z@..... .y@.....

AC EF D8 00 F0 F0 D8 00 ........ ........

 

 

---------- Block 3 at 0x00D8F0F0: 1 bytes ----------

Call Stack:

e:\qttest\vldvstest\widget.cpp (7): VLDVSTest.exe!Widget::Widget + 0x63 bytes

e:\qttest\vldvstest\main.cpp (14): VLDVSTest.exe!main + 0x21 bytes

D:\Qt4.8ToVs2008\4.8.0\src\winmain\qtmain_win.cpp (131): VLDVSTest.exe!WinMain + 0x12 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (574): VLDVSTest.exe!__tmainCRTStartup + 0x35 bytes

f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (399): VLDVSTest.exe!WinMainCRTStartup

0x7C81776F (File and line number not available): kernel32.dll!RegisterWaitForInputIdle + 0x49 bytes

Data:

CD ........ ........

 

 

Visual Leak Detector detected 2 memory leaks (97 bytes).

Largest number used: 134 bytes.

Total allocations: 134 bytes.

Visual Leak Detector is now exiting.


http://chatgpt.dhexx.cn/article/fOxcfaI2.shtml

相关文章

vld检测不输出_原创干货 | 基于机器学习的webshell检测踩坑小记

目录 “文章部分内容引用自兜哥作品” 0x01 机器学习衡量指标 0x02 数据集 0x03 特征提取 0x04 模型训练及检测 0x05 预测新样本 0x06 优化检测 前言 本人是合合信息(划重点——“OCRAI大数据公司”)安全部门的一名成员&#xff0c;受到公司AI氛围的感染&#xff0c;对于不会AI…

使用 VLD 检测内存泄漏

背景 在实际的项目实践中&#xff0c;随着程序越复杂&#xff0c;内存管理就显得越重要。虽然有许多方法可以防止内存泄露&#xff0c;但在实践中还是难免出现内存泄露的情况&#xff0c;并且内存泄露问题很难被发现和定位其位置。 VLD Visual Leak Detector 是一款用于 C 的…

使用vld查看OPCode

本文转载自&#xff1a;https://gywbd.github.io/posts/2016/2/vld-opcode.html 前几天翻译了一篇关于Zend引擎的文章&#xff0c;这篇文章主要是讲Zend引擎怎么执行PHP代码的&#xff0c;确切地说是怎么执行OPCode的&#xff0c;因为PHP程序会先被编译为中间形式&#xff08;…

php windows vld,PHP之opcode及VLD使用

OpCode&#xff0c;即Operation Code&#xff0c;操作码。通常是指计算机指令中的一部分&#xff0c;用于指定要执行的操作&#xff0c; 指令的格式和规范由处理器的指令规范指定。 通常opcode还有另一种称谓&#xff1a;字节码(byte codes)。例如Java编译后生成的class文件。 …

vld扩展

PHP代码的执行实际上是在执行代码解析后的各种opcode。通过vld扩展可以很方便地看到执行过程中的opcode。 一、安装vld扩展 git clone https://github.com/derickr/vld.git cd vld phpize ./configure --with-php-config/usr/local/php71/bin/php-config --enable-vld make &am…

vld使用

vld是一款免费的Visual C内存分析工具&#xff0c;下面来介绍一下怎么在qt中使用vld。 1.下载。去官网http://vld.codeplex.com/下载&#xff0c;我下的是2.5.1版本 2.安装。在安装目录下找到vld.lib文件。有32位和64位的注意位数。复制到qt安装目录的lib文件夹中 复制vld安装…

WINDOWS下内存泄漏检测工具VLD(Visual Leak Detector)的使用

VLD安装&#xff1a; https://kinddragon.github.io/vld/ 点击下载安装器 安装完成后&#xff0c;会自动将其include目录添加到VS的附加安装目录&#xff0c;将其静态库目录(lib目录)添加到VS的附加库目录&#xff0c; 无需手动添加include目录和lib目录 VLD使用&#xff1…

VLD(Visual LeakDetector)内存泄露库的使用

VLD简介 由于C/C语言没有所谓的垃圾收集器&#xff0c;内存的分配和释放都需要程序员自己来控制&#xff0c;这会给C/C程序员带来一定的困难。当您的程序越来越复杂时&#xff0c;它的内存管理也会变得越来越困难。内存泄漏、内存越界是最常见的内存问题之一。内存泄漏如果不是…

内存泄漏查找工具VLD的使用

1.什么是vld&#xff1f; Visual Leak Detector(VLD)同样是一款开源检测内存泄露软件的简称。 官方的介绍如下地址&#xff1a;在Visual Studio调试器下运行程序时&#xff0c;Visual Leak检测器将在调试会话结束时输出内存泄漏报告。泄漏报告包括完整的调用堆栈&#xff0c;显…

检查内存泄露的利器--VLD使用指南

1. VLD简介 Visual Leak Detector是一个免费的&#xff0c;强大的&#xff0c;开源的,可视化C 内存泄漏检测工具。 VLD容易使用。安装后&#xff0c;只需告诉Visual C 在哪里可以找到包含的头文件和库文件。然后&#xff0c;只需将以下行添加到代码中&#xff0c;即可将其与任…

内存泄露检测工具VLD(Visual Leak Detector)使用说明

目录 一、内存泄漏问题 二、VLD工具使用说明 1 下载VLD 2 安装VLD 3 使用VLD&#xff08;第一个种方法&#xff09; 3.1 附加头文件目录 3.2 附加库目录。 4 使用VLD&#xff08;第二个种方法&#xff09; 4.1 打包VLD_SDK 4.2 附加头文件目录 4.3 附加库目录。 5 …

【矩阵论】范数和矩阵函数(2)

范数及矩阵函数之收敛性与矩阵函数 定义矩阵的范数是为了讨论矩阵的收敛性。 注&#xff1a;范数和矩阵函数这个系列的&#xff08;1&#xff09;&#xff08;2&#xff09;等划分是按照章节来的&#xff0c;与视频的分集并不完全一致。 一. 收敛定理 1. 按坐标收敛 2. 按范数…

向量范数和矩阵范数的理解

向量范数 今天来聊一聊机器学习矩阵论的相关知识——范数&#xff08;Norm&#xff09;。 在学习机器学习基础算法的推导过程中&#xff0c;可以看到很多地方都应用到了这个范数。范数属于矩阵论的知识范围&#xff0c;可见数学基础的重要性。 机器学习的数学基础重点推荐—…

【矩阵论】范数和矩阵函数(1)

范数及矩阵函数之范数的概念 首先将本章的内容做以下大致的梳理&#xff1a; 我们通过范数的概念来解决矩阵函数的问题&#xff0c;利用矩阵的函数可以解决很多实际问题。 一. 概念与定义 1. 范数与赋范线性空间 &#xff08;1&#xff09;范数——向量空间上的满足某些性质…

矩阵范数与矩阵的模

矩阵范数&#xff08;matrix norm&#xff09;是数学中矩阵论、线性代数、泛函分析等领域中常见的基本概念&#xff0c;是将一定的矩阵空间建立为赋范向量空间时为矩阵装备的范数。应用中常将有限维赋范向量空间之间的映射以矩阵的形式表现&#xff0c;这时映射空间上装备的范数…

【数学】向量范数和矩阵范数(几种范数 norm 的简单介绍)

目录&索引 一、什么是范式&#xff1f;二、向量范式1-范数2-范数P-范数∞-范数-∞-范数 三、矩阵范式1-范数2-范数∞-范数F-范数 四、小结 一、什么是范式&#xff1f; 范数&#xff0c;是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域&#xff0c;范数是…

鬼畜视频制作必备——vegas pro特别版歌声合成工具UTAU

很好奇鬼畜是怎么做出来的&#xff1f;绝大部分up主用的必备的就是vegas&#xff0c;剪视频比较全能&#xff0c;比如&#xff1a;添加字幕、旋转视频、导入导出视频、导入导出视频等等&#xff0c;同时还提供了先进的悬停取消技术、高分辨率格式高达4K的音频素材以及支持4K UH…

平板电脑必装十大软件_知乎高赞回答:职场新人必装的电脑软件有哪些?太全了!...

本文首发于知乎,我觉得对大家很有帮助,因此同步了过来。 来源 :Tools指南知乎号 之前在微博上看到一篇文章,其中有一点让我很诧异:一个新入职的员工,不知道用什么软件打开rar压缩包。 但想到我刚入职场时,也是这个样子,马上就释然了。 但有一个新的问题出现了:刚入职场…

动态图册用HTML怎么制作,imgplay gif动图制作如何使用?imgplay图文使用教程

imgplay是一款利用图片、视频就能轻松制作GIF的应用软件。通过这款软件&#xff0c;大家可以切身感受拍照片和视频时的精彩瞬间&#xff0c;下面小编就为大家讲解imgplay软件的使用方法。 推荐下载&#xff1a; 软件名称&#xff1a;imgplay gif动图制作软件 3.0.1 官网安卓版软…

Filmigo视频剪辑VIP,这是一款多功能视频编辑、影片剪辑、图片美化、视频/音频制作 影音软件,功能强大!

《Filmigo视频剪辑》介绍&#xff1a;这是一款多功能视频编辑、影片剪辑、图片美化、视频/音频制作、配乐美颜影音软件&#xff0c;是一款简单易用的视频编辑、视频裁剪与视频剪辑工具&#xff0c;获得2018年google paly“娱乐奖项”应用APP&#xff1b;全球超过三千万视频剪辑…