QT中的检测内存泄露 ,在WINDOWS下面检测
工具:vld-2.3-setup.exe http://vld.codeplex.com/downloads/get/670164
.pro中的代码如下:
#-------------------------------------------------
#
# Project created by QtCreator 2015-11-30T15:19:54
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = tabdialog
TEMPLATE = app
SOURCES += main.cpp\
# mainwindow.cpp\
tabdialog.cpp
#HEADERS += mainwindow.h
HEADERS += tabdialog.h
#FORMS += mainwindow.ui
#QT += widgets
#HEADERS = tabdialog.h \
# tabdialog.h
#SOURCES = main.cpp \
# tabdialog.cpp \
# tabdialog.cpp
## install
#target.path = $$[QT_INSTALL_EXAMPLES]/widgets/dialogs/tabdialog
#INSTALLS += target
#wince50standard-x86-msvc2005: LIBS += libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib ws2.lib
win32
{
}
DEFINES += _DEBUG
VLD_PATH = C:/Program Files (x86)/Visual Leak Detector
INCLUDEPATH += $VLD_PATH/include
#LIBS += -L $$VLD_PATH/lib/Win32 -lvld
#LIBS += -L $$VLD_PATH/lib/Win32
#LIBS += -L C:/Program Files (x86)/Visual Leak Detector/lib/Win32/vld
#LIBS += -Lvld
LIBS += -LC:/Program Files (x86)/Visual Leak Detector/lib/Win32/-lvld
#LIBS+= -lvld #
#LIBS += -L $VLD_PATH/lib/Win32/vld.lib
#win32 {
# CONFIG(debug, debug|release)
# {
## DEFINES += _DEBUG
# # vld 2.2 downloaded from http://vld.codeplex.com/ C:\Program Files (x86)\Visual Leak Detector\include
# VLD_PATH = C:/Program Files (x86)/Visual Leak Detector
# INCLUDEPATH += $VLD_PATH/include
# LIBS += -L$VLD_PATH/lib/Win32 -lvld
# }
#}
在main.cpp中写如下:
#ifdef _DEBUG
#ifdef_DEBUG
#include"vld.h"
#endif
int *pint =NULL;
pint=new int[30];
int *pint1 =NULL;
pint1=new int[30];效果如图:
其中还要在环境变量中添加如下:
Path: C:\Program Files (x86)\Visual Leak Detector\bin;
如果在.PRO中出现如下图:
无法打开,一要检查你的PRO中的LIB的路径,二要检查你是否把此LIB放在DEBUG中,如下图所示:
备注:关于PRO中的写法,参考 http://blog.chinaunix.net/uid-23592843-id-2495471.html