Шаг 38.
Средства отладки в Microsoft Visual C++ 5.0. Использование отладочных макросов

    На этом шаге мы перечислим отладочные макросы.

    Макрос ASSERT (Подтверждение) позволяет Вам осуществлять проверку некоторых условий, которые всегда должны быть истинными. Например, если требуется, чтобы значение индекса i не выходило за границы массива, можно использовать такую конструкцию:

    ASSERT (i>=0 && i<ARRAYSIZE)   ,
где ARRAYSIZE - константа, определяющая количество элементов в этом массиве.

    Если проверяемое условие будет нарушено, то выдается диалоговое окно с соответствующим предупреждающим сообщением. При нажатии в этом окне кнопки Retry (Повтор) осуществляется переход в режим отладки программы (если программа выполняется из среды программирования). Курсор при этом размещается на строке, где находится макрос ASSERT.


    Примечание. ASSERT является макросом, а не функцией, поэтому он не заканчивается символом ";" (точка с запятой).

    Другим макросом, который можно использовать при создании отладочной версии программы, является TRACE (Трассировка), который выводит отладочную информацию в окно, расположенное в нижней части экрана дисплея (вкладка Debug).


Рис.1. Диагностическое сообщение при утечке памяти

    Существует несколько видов макроса TRACE: TRACE0 (или TRACE), TRACE1, TRACE2 и TRACE3. Число в имени указывает на число параметрических аргументов, следующих за строковой константой, что напоминает обычную функцию printf. Приведем примеры использования этого макроса:

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




Предыдущий шаг Содержание Следующий шаг