Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAP(теория).doc
Скачиваний:
49
Добавлен:
15.02.2016
Размер:
687.62 Кб
Скачать

29. Выдача сообщений и отладка

Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится :

  • узнавать текущие значения переменных;

  • выяснять, по какому пути выполнялась программа.

Существуют две взаимодополняющие технологии отладки.

  • Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.

  • Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экранпринтергромкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.

Место отладки в цикле разработки программы

Типичный цикл разработки, за время жизни программы многократно повторяющийся, выглядит примерно так:

  1. Программирование — внесение в программу новой функциональности, исправление ошибок в имеющейся.

  2. Тестирование (ручное или автоматизированное; программистом, тестером или пользователем; «дымовое», в режиме чёрного ящика или модульное…) — обнаружение факта ошибки.

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

  4. Отладка — обнаружение причины ошибки.

Инструменты

Способности программиста к отладке — это, по-видимому, важнейший фактор в обнаружении источника проблемы, но сложность отладки сильно зависит от используемогоязыка программирования и инструментов, в частности, отладчиков.

Инструменты, снижающие потребность в отладке

Другое направление — сделать, чтобы отладка нужна была как можно реже. Для этого применяются:

  • Контрактное программирование — чтобы программист подтверждал другим путём, что ему на выходе нужно именно такое поведение программы. В языках, в которых контрактного программирования нет, используется самопроверка программы в ключевых точках.

  • Модульное тестирование — проверка поведения программы по частям.

  • Статический анализ кода — проверка кода на стандартные ошибки «по недосмотру».

  • Высокая культура программирования, в частности, паттерны проектированиясоглашения об именовании и прозрачное поведение отдельных блоков кода — чтобы объявить себе и другим, каким образом должна вести себя та или иная функция.

  • Широкое использование проверенных внешних библиотек.

30. Оператор TRY и отладка Обработка исключительных ситуаций с помощью оператора TRY.

Оператор try..._try

try последовательность команд _try – защищенный блок команд с выходом из блока при возникновении исключительной ситуации (ошибки). Такой ситуацией может быть, например, деление на ноль, с возможностью анализа ошибки в какой-либо последующей команде. При возникновении ошибки внутри блока try происходит выход из последовательности команд (без выдачи на экран стандартного сообщения об ошибке), после чего продолжается выполнение команд, стоящих после команды try. Пример:

try

a=b/c;

b=b*ln(c);

_try;

Если требуется проводить проверку на возникновение, это следует делать в обработчике исключения onException.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]