Как отключить ведение журнала утечки памяти в Visual Studio 2005? - PullRequest
4 голосов
/ 27 апреля 2011

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

Когда я отлаживаю большой кусок кода, я могу захотеть протестировать только определенную функцию, прежде чем исследовать утечки.Моя проблема в том, что когда я убиваю процесс, регистрация утечек занимает много времени.Иногда я могу подождать больше минуты, чтобы произошел весь сброс.

Большое спасибо

1 Ответ

2 голосов
/ 27 апреля 2011

Функция CrtDumpMemoryLeaks вызывается, когда ваша программа скомпилирована в режиме отладки.Вы можете отключить это поведение с помощью вызова функции

_CrtSetDbgFlag(0);

Его использование описано здесь .Но исправление этих утечек памяти все равно будет разумным.Обычно это большие статические объекты, которые занимают всю память.Вы можете реорганизовать их из статических объектов, объявленных в файле cpp, с помощью включения их в класс, который создает объект при первом обращении к функции getter.Теперь вы можете безопасно удалить свою статику при выходе из программы как последний вызов вашего основного метода.Это устранит утечку памяти, и ваш отчет будет намного короче.

Ваш, Алоис Краус

...