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


Настройка проверок во время выполнения машинного кода

В проекте Visual Studio C++ можно использовать проверки в машинном коде runtime_checks для обнаружения таких распространенных ошибок, возникающих во время выполнения, как:

  • повреждение указателя стека;

  • переполнение локальных массивов;

  • повреждение стека;

  • зависимости от неинициализированных локальных переменных;

  • потеря данных при присваивании переменным меньшего размера.

    Попытка использования опции /RTC с оптимизированным построением (/O) приведет к ошибке компилятора. Директивы runtime_checks при оптимизированном построении игнорируются.

    Если осуществляется отладка программы с включенным режимом проверки во время выполнения, по умолчанию при возникновении ошибки во время выполнения программа будет прервана и произойдет возврат в отладчик. Это используемое по умолчанию поведение можно изменить для любой проверки во время выполнения. Дополнительные сведения см. в статье Управление исключениями с помощью отладчика.

    В приведенной ниже процедуре описано, как включить в отладочном построении проверку в машинных кодах во время выполнения, и как изменить поведение проверки в машинных кодах во время выполнения.

    Другие разделы, представленные здесь, содержат следующие сведения:

  • Настройка проверки кода во время выполнения с библиотекой среды выполнения языка C

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

  • Используйте опцию /RTC и компоновку с отладочной версией библиотеки времени выполнения языка С (например, /MDd).

    Сведения о настройке параметра в Visual Studio см. в разделе "Примечания" справочной статьи /RTC (ошибка времени выполнения проверка). Задайте значение в свойстве Basic Runtime Check , а не свойстве Smaller Type Check . Свойство Smaller Type Check не рекомендуется.

Изменение порядка проверки в машинных кодах во время выполнения

  • Используйте директиву runtime_checks .