blockquote {
font-style: italic;
}
+
+ form {
+ margin: 20px;
+ }
</style>
<title>Visual Leak Detector (Beta)</title>
<div id="masthead">
-<h1>Visual Leak Detector 1.9f (Beta)</h1>
+<h1>Visual Leak Detector 1.9h (Beta)</h1>
<p id="slogan">Enhanced Memory Leak Detection for Visual C++</p>
<li><a href="#restrictions">Known Restrictions</a></li>
+ <li><a href="#contibuting">Contributing</a></li>
+
<li><a href="#license">License</a></li>
<li><a href="#contact">Contacting the Author</a></li>
+
+ <li><a href="#help-wanted">Additional Developers Wanted</a></li>
</ul>
</div> <!-- #toc -->
Detector include and library directories to the Visual C++ include and library directory search paths:</p>
<ul>
- <li><strong>Visual C++ 8</strong>: Go to Tools -> Options -> Projects and Solutions -> VC++ Directories.
+ <li><strong>Visual C++ 8 and 9</strong>: Go to Tools -> Options -> Projects and Solutions -> VC++ Directories.
Select "Include files" from the "Show Directories For" drop-down menu. Add the
<span class="filename">include</span> 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
<h2 id="build">Building Visual Leak Detector from Source</h2>
<p>Because Visual Leak Detector is open source, it can be built from source if you want to tweak it to your
- liking. The most difficult part about building VLD from source is getting your build environment correctly set up.
+ liking. As of Visual Studio 2008, the source can usually be built out-of-the-box without downloading or installing
+ any other tools. If you are using Visual Studio 2008 (or later), you can skip ahead to
+ <a href="#exec">Executing Your Built vld.dll</a>.
+
+<p>Users with older versions of Visual Studio should continue reading here and follow the instructions in the next
+ subsection.</p>
+
+<h3>For Older Versions of Visual Studio</h3>
+
+<p>The most difficult part about building VLD from source is getting your build environment correctly set up.
But if you follow these instructions carefully, the process should be fairly painless.</p>
<ol>
<li>VLD depends on the Debug Help Library. This library is part of
<a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">Debugging Tools for Windows</a> (DTfW).
Download and install DTfW in order to install the required headers and libraries. I recommend installing version
- 6.5 of DTfW. Newer versions may also work, but older versions will probably not work. Be sure to manually select
- to install the SDK files during the DTfW installation or the headers and libraries will not be installed (they
- are not installed with a default installation).</li>
+ 6.5 of DTfW, or later. Newer versions tend to work fine, but older versions will probably not work. Be sure to
+ manually select to install the SDK files during the DTfW installation or the headers and libraries will not be
+ installed (they are not always installed with a default installation).</li>
<li>Visual C++ will need to be made aware of where it can find the Debug Help Library header and library files.
Add the <span class="filename">sdk\inc</span> and <span class="filename">sdk\lib</span> subdirectories from the
<p>Once you have completed all of the above steps, your build environment should be ready. To build VLD, just open the
<span class="filename">vld.sln</span> solution file and do a full build.</p>
+<h3 id="exec">Executing Your Built vld.dll</h3>
+
<p>When actually running the built project, <span class="filename">vld.dll</span> will expect to find the Debug Help
Library as a private assembly. The private assembly must be located in the same directory as
<span class="filename">vld.dll</span> (either the <span class="filename">Release</span> or
<h2 id="x64">Windows x64 Support</h2>
-<p>The VLD source code has been modified to add support for x64-based 64-bit Windows. However, the binary contained in
- the distributed version of VLD is 32-bit only. To take advantage of the 64-bit support, you'll need to build a 64-bit
- version of VLD from source. To build the 64-bit version, follow the instructions for <a href="#build">building VLD
- from source</a>. So long as it is built using a x64-compatible compiler in 64-bit mode, the resulting DLL will be a
- 64-bit binary.</p>
-
-<p class="note"><strong>Note:</strong> I have not personally tested the 64-bit extensions so they are not absolutely
- guaranteed to work out-of-the-box. There may be a few lingering 64-bit compiler errors that still need to be worked
- out. If you need 64-bit support and run into problems trying to build the source in 64-bit mode, please
- <a href="mailto:dmoulding@gmail.com">let me know</a>. I'll be glad to assist in getting the 64-bit code working
- properly.</p>
+<p>Currently VLD will not build on x64 due to limitations of the x64 compiler. Some efforts have been undertaken to
+ get it working in a 64-bit environment, but have not yet been successful. If you need 64-bit support and run into
+ problems trying to build the source in 64-bit mode, please <a href="mailto:dmoulding@gmail.com">let me know</a>.
+ I'll be glad to assist in getting the 64-bit code working properly, if at all possible.</p>
DLLs in memory leak detection, by setting the <span class="option">ForceIncludeModules</span> configuration
option to: "mfc70d.dll mfc71d.dll" and explicitly adding <span class="filename">vld.lib</span> as an input file
on the linker command line (can be added through project settings by adding it to the list of library modules in
- the linker options). This restriction does not apply to programs that use MFC 4.2 or MFC 8.0 which are both fully
- supported.</li>
+ the linker options). This restriction does not apply to programs that use MFC 4.2, MFC 8.0, or MFC 9.0, which are
+ all fully supported.</li>
<li>Visual Leak Detector may report leaks internal to Visual Leak Detector if the main thread of the process
terminates while other threads are still running.</li>
<li>On Windows 2000 and earlier operating systems, you may need to manually add the
- <span class="filename">bin\Microsoft.VC80.CRT</span> subdirectory from the Visual Leak Detector installation
- directory to the system PATH environment variable. Also, <span class="filename">dbghelp.dll</span> will probably
- need to be manually copied to the directory where the program being debugged resides. Otherwise the system may
- not find the required DLLs when running VLD.</li>
+ <span class="filename">bin</span> subdirectory from the Visual Leak Detector installation directory to the system
+ PATH environment variable. Also, <span class="filename">dbghelp.dll</span> will probably need to be manually copied
+ to the directory where the program being debugged resides. Otherwise the system may not find the required DLLs when
+ running VLD.</li>
<li>If more than one copy of the same C Runtime DLL is loaded in the process at the same time, then some leaks may
go undetected (note that loading more than one copy of the C Runtime DLL at the same time is probably a bad idea
+<h2 id="contibuting">Contributing</h2>
+
+<p>I encourage developers who've added their own features, or fixed bugs they've found, to contribute to the project.
+ The full version-controlled source tree is available publicly via Git at the URL below. Feel free to clone from this
+ URL and submit patches for consideration for inclusion in future versions. You can also hop onto
+ <a href="http://github.com">GitHub</a> (accounts are free) and issue pull requests for changes that you've made and
+ would like to share.</p>
+
+<p>Git Repository URL: git://github.com/dmoulding/vld.git</p>
<h2 id="license">License</h2>
</div>
</form>
+
+
+<h2 id="help-wanted">Additional Developers Wanted</h2>
+
+<p>This project is looking for additional developers who have the time, knowledge, and talent, to help make VLD continue
+ to be a useful utility for the Windows developer community. If you feel that you or someone you know would be
+ interested in becoming an active member of the Visual Leak Detector development team, please let me know.</p>
+
+
+
<p id="compliance">
<a href="http://validator.w3.org"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a>
<a href="http://jigsaw.w3.org/css-validator"><img id="valid-css" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /></a>
</p>
-<p id="copyright">Copyright © 2005-2006 Dan Moulding</p>
+
+
+<p id="copyright">Copyright © 2005-2009 Dan Moulding</p>
</div> <!-- #content -->