Поделиться через


_CrtCheckMemory

Подтверждает целостность блоков памяти, выделенных в отладочной куче (только в отладочной версии).

int _CrtCheckMemory( void );

Возвращаемое значение

В случае успеха _CrtCheckMemory возвращает TRUE; в противном случае функция возвращает FALSE.

Заметки

Функция _CrtCheckMemory проверяет память, выделенную диспетчером отладочной кучи, проверяя лежащую в основе базовую кучу и инспектируя каждый блок памяти. Если в лежащей в основе базовой куче, данных заголовка отладки или буфере перезаписи обнаруживается ошибка или несоответствие памяти, то _CrtCheckMemory создает отчет об отладке со сведениями, описывающими условия ошибки. Если _DEBUG не определен, то вызовы _CrtCheckMemory удаляются во время предварительной обработки.

Поведение _CrtCheckMemory может управляться с помощью установки битовых полей флажка _crtDbgFlag с помощью функции _CrtSetDbgFlag. Включение битового поля _CRTDBG_CHECK_ALWAYS_DF приводит к тому, что _CrtCheckMemory вызывается каждый раз при запросе операции выделения памяти. Хотя этот метод замедляет выполнение, он полезен для быстрого перехвата ошибок. Выключение битового поля _CRTDBG_ALLOC_MEM_DF приводит к тому, что _CrtCheckMemory не проверяет кучу и немедленно возвращает значение TRUE.

Поскольку эта функция возвращает TRUE или FALSE, она может быть передана одному из макросов _ASSERT для создания простого отладочного механизма обработки ошибок. В следующем примере вызывается сбой проверочного утверждения в случае обнаружения повреждения в куче:

_ASSERTE( _CrtCheckMemory( ) );

Дополнительные сведения о том, как можно использовать _CrtCheckMemory с другими функциями отладки, см. в разделе Функции отчета о состоянии кучи. Обзор управления памятью и отладочной кучи см. в разделе Сведения о куче отладки CRT.

Требования

Подпрограмма

Обязательный заголовок

_CrtCheckMemory

<crtdbg.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Библиотеки

Только отладочные версии Библиотеки времени выполнения языка C.

Пример

Пример использования _CrtCheckMemory см. в разделе crt_dbg1.

Эквивалент в .NET Framework

System::Diagnostics::PerformanceCounter

См. также

Ссылки

Процедуры отладки

_crtDbgFlag

_CrtSetDbgFlag