Настройка проверок во время выполнения машинного кода
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Только машинные коды |
||||
Pro, Premium и Ultimate |
Только машинные коды |
При компиляции с параметром /RTC (проверки времени выполнения) или использовании прагмы runtime_checks библиотека времени выполнения языка C предоставляет проверки времени выполнения в машинном коде. В некоторых случаях необходимо настроить проверки времени выполнения:
для направления сообщений о проверке, осуществляемой во время выполнения, в файл или в другое место назначения, отличающиеся от используемого по умолчанию;
чтобы определить место назначения для сообщения о проверке, осуществляемой во время выполнения отладчиком стороннего поставщика;
для представления сообщений о проверке во время выполнения из программы, скомпилированной с рабочей версией библиотеки времени выполнения языка C. Для представления сообщения об ошибке во время выполнения окончательные версии библиотеки не используют _CrtDbgReportW. Вместо этого они отображают для каждой ошибки времени выполнения диалоговое окно Утверждение.
Для настройки процесса проверки ошибок во время выполнения можно:
написать функцию, сообщающую об ошибке времени выполнения. Дополнительные сведения см. в разделе Практическое руководство. Написание функции, сообщающей об ошибке во время выполнения;
настроить место назначения для сообщения об ошибке;
запросить сведения об ошибках проверок времени выполнения;
Настройка места назначения для сообщения об ошибке
Если для уведомления об ошибках используется функция _CrtDbgReportW, то для определения места назначения сообщений об этих ошибках можно использовать _CrtSetReportMode.
Когда применяется пользовательская функция, сообщающая об ошибках, для связывания ошибки и типа сообщения следует использовать функцию _RTC_SetErrorType.
Запрос сведений о проверках времени выполнения
_RTC_NumErrors возвращает количество типов ошибок, обнаруженных в процессе проверки во время выполнения. Для получения краткого описания каждой ошибки можно использовать цикл от 0 до возвращенного _RTC_NumErrors значения, передавая номер итерации на каждом шаге в функцию _RTC_GetErrDesc. Дополнительные сведения см. в разделах _RTC_NumErrors и _RTC_GetErrDesc.
См. также
Задачи
Практическое руководство. Настройка проверок во время выполнения машинного кода