Методы отладки программ

Отладочные средства Dev-C++

Сущность отладки

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

английский термин debugging (дословно «удаление жучков») по преданию связан с тем, что в контакты компьютера Mark II в 1940 году попал жучок (моль), из-за которого в вычислительной машине произошел сбой.

Существует три типа ошибок в программах:

синтаксические – ошибки в написании операторов (например, вместо printf часто не-

правильно пишут просто print); эти ошибки легко исправить, потому что их обнаруживает транслятор и чаще всего говорит, в какой именно строчке ошибка;

ошибки времени выполнения – во время работы случилась «аварийная» ситуация, например, деление не ноль;

логические – ошибки в алгоритме (программа работает, но выполняет не то, что нужно);

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

том месте, где находится неверная команда.

Итак, самое трудное во время отладки – это найти ошибку, то есть определить ошибочный оператор. К сожалению, эту задачу никак не удается автоматизировать, ее может решить только человек. Для облегчения этой работы придумали хитрые приемы и написали специальные программы – отладчики.

Трассировка

Трассировка – это вывод сигнальных сообщений в определенных точках программы во

время ее работы. Что же это дает?

Во-первых, получив такое сообщение на экран, мы знаем, что программа вышла в эту точку (не завершила работу аварийно раньше и не зациклилась). Во-вторых, в этих сообщениях можно выводить не только текст, но и значения переменных – это позволяет проверять, правильно ли считает программа. Если, например, во 2-ой контрольной точке все значения переменных были верные, а в 3-ой уже нет, то ошибку нужно искать между этими точками.

В этой программе в трех точках (1, 2 и 3) стоят операторы трассировки:

В точке 1 мы увидим на экране число, которое находится в переменной X после ввода значения с клавиатуры – так можно проверить правильность ввода.

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

В точке 3 значение переменной X после завершения цикла выводится на экран.

Заметим, что трассировку можно применять практически всегда, для этого не нужна программа-отладчик.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: