Диагностические макрокоманды
Для отладки программного кода С++ предусмотрен ряд макрокоманд, которые находятся в check.h. Их можно использовать в Windows и DOS. Существует два типа макрокоманд - заданные по умолчанию (CHECK, PRECONDITION, TRACE и WARN) и расширенные (CHECKX, PRECONDITIONX, TRACEX и WARNX).
Заданные по умолчанию макрокоманды предусматривают простую
проверку значений и вывод сообщений. Расширенные макрокоманды
позволяют создавать макрогруппы и избирательно разрешать или запрещать их. Расширенные макрокоманды позволяют вам избирательно разрешать или запрещать макрокоманды на основе порогового значения.
Управлять расширением диагностических макрокоманд можно с
помощью трех предопределенных идентификаторов препроцессора:
__DEBUG__, __TRACE и __WARN. Если при компиляции определяется
один из этих идентификаторов (с помощью параметра -D), то расширяются соответствующие макрокоманды, и генерируется диагностический код.
Диагностические макрокоманды разрешаются согласно следующему правилу:
__DEBUG=1 __DEBUG=2 __TRACE _WARN
PRECONDITION Ч Ч
PRECONDITIONX Ч Ч
CHECK Ч
CHECKX Ч
TRACE Ч
TRACEX Ч
WARN Ч
WARNXЧ
Чтобы создать диагностическую версию выполняемой программы,
разместите в ее важнейших точках диагностические макрокоманды и
скомпилируйте а разрешением соответствующего идентификатора. Диагностическая версия библиотек классов строится аналогично.