Шаг 35 - Обнаружение Утечки Памяти

1. Создайте объект CMemoryState (см. "Шаг 235 - CMemoryState"), и вызовите функцию Checkpoint, чтобы получить начальный снимок памяти.

2. После того, как Вы исполняете операции распределения и освобождения памяти создаете другой объект CMemoryState и вызовите функцию Checkpoint для того объекта, чтобы получить текущий снимок использования памяти.

3. Создайте третий объект CMemoryState, вызовите функцию Difference, и снабдите ее двумя предыдущими объектами CMemoryState как параметрами. Возвращаемое значение для функции Difference будет отлично от нуля, если имеется любое различие между двумя указанными государствами памяти, указывая, что некоторые блоки памяти не были освобождены.

Обратите внимание, что проверяющие память инструкции нужно помещать в блоки #ifdef _DEBUG / #endif так, чтобы они были откомпилированы только в Win32 Debug версиях вашей программы.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 23.08.2000