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


_CrtDumpMemoryLeaks

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

Синтаксис


int _CrtDumpMemoryLeaks( void );

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

_CrtDumpMemoryLeaks возвращается TRUE , если обнаружена утечка памяти. В противном случае функция возвращает значение FALSE.

Замечания

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

Функция _CrtDumpMemoryLeaks часто вызывается в конце выполнения программы, чтобы проверить, освобождена ли вся выделенная приложением память. Функцию можно вызывать автоматически при завершении программы, включив _CRTDBG_LEAK_CHECK_DF битовое поле _crtDbgFlag флага _CrtSetDbgFlag с помощью функции.

_CrtDumpMemoryLeaks вызовы _CrtMemCheckpoint для получения текущего состояния кучи, а затем сканируют состояние для блоков, которые не были освобождены. При обнаружении нечастого блока вызовы _CrtMemDumpAllObjectsSince данных дампа для всех объектов, _CrtDumpMemoryLeaks выделенных в куче с начала выполнения программы.

По умолчанию внутренние блоки времени выполнения C (_CRT_BLOCK) не включаются в операции дампа памяти. Функцию _CrtSetDbgFlag можно использовать для включения _CRTDBG_CHECK_CRT_DF _crtDbgFlag этих блоков в процесс обнаружения утечки.

Дополнительные сведения о функциях состояния кучи и _CrtMemState структуре см. в разделе "Отчеты о состоянии кучи". Дополнительные сведения о выделении, инициализации и управлении блоками памяти в отладочной версии базовой кучи см. в сведениях об отладочной куче CRT.

Требования

Маршрут Обязательный заголовок
_CrtDumpMemoryLeaks <crtdbg.h>

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

Библиотеки

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

Пример

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

См. также

Отладка подпрограмм