Visual Leak Detector не сообщает об утечках

Я немного новичок в использовании Visual Studio 2013 и пытаюсь заставить работать Visual Leak Detector (Версия 2.3), чтобы я мог проверить свои проекты на утечки памяти.

Я установил его и добавил
C: \ Program Files (x86) \ Visual Leak Detector \ include для моих каталогов включения

и C: \ Program Files (x86) \ Visual Leak Detector \ lib \ Win32 в каталогах моей библиотеки (обе для режима отладки).

Я строю и запускаю следующую простую программу, используя меню отладки (или нажимая клавишу 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;
}

Утечка очевидна (и намерена) здесь, чтобы проверить функциональность, но вот отчет, который я получаю:

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).

Есть идеи?

Изменить: я должен отметить, что добавление

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

К началу моего кода и

_CrtDumpMemoryLeaks();

непосредственно перед завершением функции main () фактически вызывает то, что встроенное в Visual Studio средство обнаружения утечек сообщает об утечках, однако визуальный детектор утечек все еще следует этому отчету, говоря, что утечки памяти не обнаружены и не предоставляя никакой информации.

14

Решение

Похоже, что это ошибка в VC ++ 2013, она работает, когда я использую компилятор VC ++ 2010.

Хотя я могу представить, что это не вариант для вас. Если это поможет вам, вы можете использовать последнюю бета-версию v2.4rc2.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]