Если вы используете отладочную версию библиотеки CRT , вы можете очень легко найти все утечки памяти .
В основном после включения соответствующих заголовков, которые вы называете
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
где-то в начале вашей программы.
Перед выходом из программы вы должны позвонить
_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_DEBUG );
Что сбрасывает все утечки памяти в окно вывода отладки.
Но медленное приложение может быть не связано с утечками памяти. Для профилирования производительности вы можете следовать указаниям согласно Найти узкие места приложения с помощью Visual Studio Profiler
Для перехвата некорректных конструкций C ++ во время компиляции вы можете использовать функцию статического анализа кода в Visual Studio 2010 или более поздней версии.