В этой статье:

Общие сведения

Описание

Пример

Отладочная печать

Номер статьи: KB000003

Общие сведения

Связанные блоки:

Описание

В системной сборке System имеется класс Debug, предназначенный для вывода отладочной информации при выполнении модулей или форм. Данный класс имеет несколько статических методов, решающих разные задачи:

Метод Assert позволяет вставить в код условие для проверки внутреннего состояния исполняемого кода. Если код не соответствует заданному условию, то выводится сообщение об этом. Часто разработчики пишут код процедур или функций исходя из некоторых предположений о значениях их параметров. Данный метод позволяет включить в код проверку этих предположений и уже на этапе тестирования системы выявить проблемы, если они реально существуют.

Метод Fail позволяет безусловно сообщить о какой-то серьезной проблеме, возникшей при выполнении кода.

Разработчики часто используют функцию IWinApplicationClass.InformationBox для вывода отладочных сообщений. Её использование может привести к неработоспособности прикладной системы в веб-версии. Рекомендуется учитывать и этот фактор при разработке прикладных систем.

Пример

Sub UserProc;
Var
    Value: Double;
Begin
    Debug.WriteLine("Hello, world!");
    Value := Math.Rand;
    Debug.Write("Random value: "); Debug.WriteLine(Value);
    Debug.WriteLineIf(Value > 0.5"Random value is greater than 0.5");
    Debug.WriteLine("Indented random outputs");
    Debug.Indent;
    Try
        Debug.WriteLine(Math.Rand);
        Debug.WriteLine(Math.RandBetween(0100));
    Finally
        Debug.Unindent;
    End Try;
    Debug.Assert(Math.Rand > 0.5);
    Debug.Fail("There is an serious failure in software");
End Sub UserProc;

В окно консоли будет выведено:

Выполнение модуля начато

Hello, world!

Random value: 0,175467571750159

Indented random outputs

    0,64320357647799

    11,6849231109221

Assert failed

There is an serious failure in software

Выполнение модуля завершено

См. также:

База знаний разработчиков