Практическое руководство. Включение и отключение диагностики памяти

Этот раздел применим к:

Выпуск

Visual Basic

C#

F#

C++

Web Developer

Express

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Pro, Premium и Ultimate

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Прежде чем воспользоваться возможностями диагностики памяти, нужно включить диагностическую трассировку.

Включение или выключение диагностики памяти

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

Выбор функции диагностики памяти с помощью afxMemDF

  • Если необходимо обеспечить более точное управление функциями диагностики памяти, можно задать значение глобальной переменной MFC afxMemDF, которая позволяет выборочно включать и отключать отдельные функции. Эта переменная может принимать следующие значения, заданные перечисляемым типом afxMemDF:

    Значение

    Значение

    allocMemDF

    Включает выделение памяти с диагностикой (по умолчанию).

    delayFreeMemDF

    Задерживает освобождение памяти при вызове delete или free до выхода из программы. Это позволяет обеспечить выделение максимального объема памяти.

    checkAlwaysMemDF

    Вызывает AfxCheckMemory каждый раз при выделении или освобождении памяти.

    Эти значения можно комбинировать с помощью логической операции ИЛИ, как показано ниже:

    afxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;
    

См. также

Другие ресурсы

Обнаружение утечек памяти в MFC