Я использую CppUnitTestFramework Visual Studio 2012 для модульного тестирования моего кода C ++. Теперь я хочу проверить утечки памяти с помощью Visual Leak Detector. Итак, я положил
#include "vld.h"
в мой тестовый файл класса. Я добавляю что-то вроде
new MyClass();
к методу теста, чтобы «симулировать» утечку памяти.
Все компилируется и связывается нормально, что означает, что каталоги VLD указаны. Но тест вылетает:
------ Run test started ------
The active Test Run was aborted because the execution process exited unexpectedly. To investigate further, enable local crash dumps either at the machine level or for process vstest.executionengine.x86.exe. Go to more details: http://go.microsoft.com/fwlink/?linkid=232477
========== Run test finished: 0 run (0:00:02,3841194) ==========
Когда я удаляю директиву включения, тест проходит успешно. Есть ли способ включить VLD вместе с тестовой средой Visual Studio?
У меня была похожая проблема, которая была исправлена путем копирования Microsoft.DTfW.DHL.manifest из каталога vld bin в каталог исполняемых файлов модульного теста.
Других решений пока нет …