Ответ 1
Похоже, что это ошибка с VС++ 2013, она работает, когда я использую компилятор VС++ 2010.
Хотя я могу представить, что это не вариант для вас. Если это вам поможет, вы можете использовать последнюю бета-версию v2.4rc2.
Я немного новичок в использовании Visual Studio 2013 и пытаюсь получить Visual Leak Detector (версия 2.3), чтобы я мог проверить мои проекты на утечки памяти.
Я установил его и добавил C:\Program Files (x86)\Визуальный детектор утечек \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 встроена в обнаружение утечек, чтобы сообщать об утечках, однако визуальный детектор утечек по-прежнему следует этому отчету, заявив, что обнаружены утечки памяти и не предоставлены никакой информации.
Похоже, что это ошибка с VС++ 2013, она работает, когда я использую компилятор VС++ 2010.
Хотя я могу представить, что это не вариант для вас. Если это вам поможет, вы можете использовать последнюю бета-версию v2.4rc2.