VS 或 Qt+VS安装VLD

VS 或 Qt+VS安装VLD一、环境说明1、VLD 内存检测工具,只能检测使用VC++编译器,不能用于检测MinGW编译器   所以要检测 Qt内存泄露问题编译器一定要是MSVC。环境要求: 1、VLD 版本要2.X以上 不能使用1.X的版本。否则检测不准确,Qt检测会提示很多内存泄露。(本人使用vld-2.3-setup.exe) 2、Qt for VS (本人使用qt-win-opensource

大家好,欢迎来到IT知识分享网。

一、环境说明

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

 VS 或 Qt+VS安装VLD

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

环境要求:

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

 2Qt for VS (本人使用qt-win-opensource-4.8.0-vs2008.exe

 3、编译器是MSVCVS默认编译器就是MSVC这里不需要配置)

 

二、下载VLD

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

   (2

 

三、安装VLD

双击 vld-2.3-setup.exe

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

 VS 或 Qt+VS安装VLD

选择是

安装完成 

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

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

 

四、VS 配置

   在“工具”->“选项”->”项目和解决方案“->”VC++目录” 

   包含文件 添加VLD的头文件路径 D:\VLD\include

   库文件  添加VLD的库路径 D:\VLD\lib\Win32

   如下如所示:

 VS 或 Qt+VS安装VLD

 VS 或 Qt+VS安装VLD

 

完成配置

 

2、在 main.cpp 中加入代码

#ifdef _DEBUG

#include “vld.h”

#endif

 

完成可以实现内存检测了


五、测试例子

 

#include “qthelloworld.h”

#include <QtGui/QApplication>

#ifdef _DEBUG

#include “vld.h”

#endif

 

int main(int argcchar *argv[])

{

QApplication a(argcargv);

 

QtHelloWorld w;

w.show();

 

QtHelloWorld *pTmp = new QtHelloWorld;

return a.exec();

}

 

VLD检测结果如下:

Visual Leak Detector Version 2.3 installed.

WARNING: Visual Leak Detector detected memory leaks!

———- Block 1 at 0x00C61018: 28 bytes ———-

  Call Stack:

    e:\vstest\qthelloworld\qthelloworld\main.cpp (15): QtHelloWorld.exe!main + 0x7 bytes

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

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

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

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

  Data:

    24 8A 40 00    70 10 C6 00    00 8A 40 00    00 00 CD CD     $.@.p… ..@…..

    24 11 C6 00    CD CD CD CD    CD CD CD CD                    $……. ……..

 

 

Visual Leak Detector detected 1 memory leak (64 bytes).

Largest number used: 64 bytes.

Total allocations: 64 bytes.

Visual Leak Detector is now exiting.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10480.html

(0)

相关推荐

发表回复

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

关注微信