Qt Creator 安装 VLD

Qt Creator 安装 VLD一 环境说明 1 VLD nbsp 内存检测工具 只能检测使用 VC 编译器 不能用于检测 MinGW 编译器 nbsp nbsp 所以要检测 nbsp Qt 内存泄露问题编译器一定要是 MSVC 环境要求 nbsp 1 VLD nbsp 版本要 2 X 以上 nbsp 不能使用 1 X 的版本 否则检测不准确 Qt 检测会提示很多内存泄露 本人使用 vld 2 3 setup exe nbsp 2 VC 编译器 nbsp 即 MSVC nbsp 如果有安装 VS 则就有这编译器 nbsp

一、环境说明

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

Qt Creator 安装 VLD

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

环境要求:

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

 2VC++编译器 即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

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

 Qt Creator 安装 VLD

选择是

安装完成 

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

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

 

四、配置Qt Creator

在 工具->选项 

构建和运行 –> 编译器

 Qt Creator 安装 VLD

 Qt Creator 安装 VLD

 

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

构建和运行 –> 构建套件(Kit

 Qt Creator 安装 VLD

编译器选择

 Qt Creator 安装 VLD

配置完成

 

五、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.

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231542.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月6日 上午11:01
下一篇 2025年12月6日 上午11:22


相关推荐

  • fastclick安装使用

    fastclick安装使用$npminstallfastclick–saveimportfastClickfrom’fastclick’fastClick.attach(document.body)

    2022年6月19日
    36
  • Jtag引脚定义

    Jtag引脚定义JTAG 主要用于芯片内部测试 现在多数的高级器件都支持 JTAG 协议 如 DSP FPGA 器件等 标准的 JTAG 接口是 4 线 TMS TCK TDI TDO 分别为模式选择 时钟 数据输入和数据输出线 具有 JTAG 口的芯片都有如下 JTAG 引脚定义 TCK 测试时钟输入 TDI 测试数据输入 数据通过 TDI 输入 JTAG 口 TDO 测试数据输出 数据通过 TDO 从 JTAG 口

    2026年3月8日
    2
  • windows下安装MinGW及C++的环境配置

    windows下安装MinGW及C++的环境配置方法一——VS:  使用windows开发神器visiostudio。这种方法比较简单,直接下载一个最新的vs安装就行。不单单是C++,C、C#、VB等都可以开发。方法二——只安装C++编译器:  最常用的免费可用的编译器是GNU的C/C++编译器,为了在Windows上安装GCC,您需要安装MinGW。1.首先去MinGW主页下载最新版本的MinGW:&nbsp;www…

    2022年6月29日
    34
  • gmt时间和cst时间_时区utc是什么意思

    gmt时间和cst时间_时区utc是什么意思全球24个时区的划分相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(WorldTime),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时

    2022年8月3日
    10
  • createthread dll「建议收藏」

    createthread dll「建议收藏」CreateThreadapi内部会调用waitforsingleobject等待互斥量对象。目的是同步顺序执行dll初始化。当该方法创建完线程内核对象和线程盏后,该函数内部会调用进程映射中所有dll的dllmain方法进行初始化。因此在自己写的dll中不要创建线程并使用waitforsingleobject等待线程创建。因为如果A线程创建的时候调用了dll中的dllmain函数,并且该

    2022年7月11日
    17
  • js的链表排序_排序js

    js的链表排序_排序jsjs链表的排序链表数据交换的心得假如通过两个地址进行交换节点内容时,也应当将我们的next来进行交换赋值,或者可以不改动我们的next,通过定义数据的中间量来将我们的数据进行改变通过while循环找到我们想要交换的节点sersort(){letp=this.head;letpp=p;…

    2022年10月11日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号