Visual Leak Detector not reporting leaks

耗尽温柔 提交于 2019-12-05 12:48:42

问题


I am a bit new to using Visual Studio 2013 and am trying to get Visual Leak Detector (Version 2.3) working so that I can check my projects for memory leaks.

I've got it installed and have added C:\Program Files (x86)\Visual Leak Detector\include to my include directories

and C:\Program Files (x86)\Visual Leak Detector\lib\Win32 to my library directories (both for debug mode).

I build and run the following simple program using the debug menu (or hitting f5):

#include <iostream>
#include <vld.h> //visual leak detector

using namespace std;

int main()
{
for (int i = 0; i < 1000000; i++)
     int *ptr = new int(100);

return 0;
}

The leak is obvious (and intentional) here, to test the functionality, but this is the report I get back:

Visual Leak Detector Version 2.3 installed.
The thread 0x38ac has exited with code 0 (0x0).
No memory leaks detected.
Visual Leak Detector is now exiting.
The program '[8136] Test.exe' has exited with code 0 (0x0).

Any ideas?

Edit: I should point out that adding

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

To the beginning of my code and

_CrtDumpMemoryLeaks();

right before the end of main(), does in fact cause Visual Studio's built in leak detection to report leaks, however Visual leak detector still follows this report by saying No memory leaks detected and providing no information.


回答1:


It looks like to be a bug with VC++2013, it does work when I use the VC++2010 compiler.

Although I can imagine this not being an option for you. If it helps you, you could use the latest beta version v2.4rc2.



来源:https://stackoverflow.com/questions/21721088/visual-leak-detector-not-reporting-leaks

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!