您的位置:首页 > 其它

Using Visual Leak Detector

2012-09-13 15:43 253 查看


This section briefly describes the basics of using Visual Leak Detector (VLD).

Important! :
Before using VLD with any Visual C++ project, you must first add the Visual Leak Detector include and library directories to the Visual C++ include and library directory search paths:

For
all compiler versions take care to ensure that no junk characters get added when you add the include and library paths. If you browse to the "Program Files(x86) folder using the dialog box provided by Visual Studio and select it you could end up seeing the
"%" replacing the "(".

And
remember to close and open the Visual Studio IDE once you have modified the default include and library paths which the compiler and linker would always look at.

Visual
C++ 2010: Go to View
->Property Manager, select Microsoft.Cpp.Win32.user.
Select VC++
Directories and then "Include
files" from the tree. Add the include subdirectory
from the Visual Leak Detector installation directory. Move it to the bottom of the list. Then select "Library
files" from the drop-down menu and add the lib\Win32 subdirectory
from the Visual Leak Detector installation directory. Again, move it to the bottom of the list. Repeat for Microsoft.Cpp.x64.user,
but select lib\Win64subdirectory
instead.

Visual
C++ 2005 and 2008: Go to Tools
-> Options -> Projects and Solutions
-> VC++ Directories. Select"Include
files" from the "Show
Directories For" drop-down menu. Add the include subdirectory
from the Visual Leak Detector installation directory. Move it to the bottom of the list. Then select "Library
files"from the drop-down menu and add the lib\Win32 subdirectory
from the Visual Leak Detector installation directory. Again, move it to the bottom of the list.

Visual
C++ 2003: Go to Project
Properties -> C/C++ -> General -> Additional Include Directories and add the include subdirectory from the Visual Leak Detector installation directory. Move it to the bottom of the list. Then select Additional
Library Directories and add the lib\Win32 subdirectory
from the Visual Leak Detector installation directory. Again, move it to the bottom of the list.

Visual
C++ 6: Go to Tools
-> Options -> Directories. Select "Include
files" from the "Show
Directories For"drop-down menu. Add the include subdirectory
from the Visual Leak Detector installation directory. Move it to the bottom of the list. Then select "Library
files" from the drop-down menu and add the lib\Win32subdirectory
from the Visual Leak Detector installation directory. Again, move it to the bottom of the list.

To use VLD with your project, follow these simple steps:

In at least one C/C++ source file from your program, include the vld.h header
file. It should not matter which file you add the include statement to. It also should not matter in what order the header is included in relation to other headers. The only exception is stdafx.h (or
any other precompiled header). A precompiled header, such as stdafx.h, must always be the first header included in a source file, so vld.hmust
be included after any precompiled headers.

If your program contains one or more DLLs that you would also like to check for memory leaks, then also include vld.h in
at least one source file from each DLL to be included in leak detection.

Build the debug version of your program.

Note:
Unlike earlier (pre-1.9) versions of VLD, it is now acceptable to include vld.h in
every source file, or to include it in a common header that is included by many or all source files. Only one copy of the VLD code will be loaded into the process, regardless of how many source files include vld.h.
VLD will detect memory leaks in your program whenever you run the debug version. When you run the program under the Visual C++ debugger, a report of all the memory leaks detected will be displayed in the debugger's output window when your program exits (the
report can optionally be saved to a file instead, seeReportFile under Configuration
Options). Double-clicking on a source file's line number in the memory leak report will take you to that file and line in the editor window, allowing easy navigation of the code path leading up to the allocation that resulted in the memory leak.

Note:
When you build release versions of your program, VLD will not be linked into the executable. So it is safe to leave vld.h included
in your source files when doing release builds. Doing so will not result in any performance degradation or any other undesirable overhead.

Last edited Oct
29 2011 at 9:18 AM by pramis,
version 5


comments

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: