_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