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


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

Обновлен: Ноябрь 2007

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

Выпуск

Visual Basic

C#

C++

Web Developer

Экспресс-выпуск

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

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

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

Standard

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

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

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

Pro и Team

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

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

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

Обозначения:

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

Применяется

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

Неприменимо

Тема применяется, но команда по умолчанию сокрыта

Команда или команды скрытый по умолчанию.

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

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

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

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

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

    Значение

    Смысл

    allocMemDF

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

    delayFreeMemDF

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

    checkAlwaysMemDF

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

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

    AfxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;
    

См. также

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

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