Искусство отладки

Прежде всего, для поиска ошибки в своей программе необходимо соответственным образом настроиться. Неверное выполнение программы доказывает наличие в ней ошибок. Но как их искать? Крайне редко эти ошибки объясняются сбоями в работе самого оборудования. Правда, могут содержать ошибки некоторые программы операционной системы. Однако и это бывает так редко, что вам следует сразу отбросить такую возможность. Начинающие программисты часто, получив выдачу, содержащую сообщения об ошибках, снова отправляют программу на счет, считая, что все произошло по вине системы или оборудования. Такие действия бессмысленны и влекут за собой потерю времени и средств. Никогда не следует предполагать, что ошибка вызвана машиной, пока существует малейшая вероятность, что ошибку допустили вы сами.

ЭВМ — это сложный механизм, а программирование — сложный процесс. Ошибки при программировании — дело вполне естественное. После получения выдачи отладку можно начинать, даже не знакомясь с ее содержанием. Уже размер выдачи несет существенную информацию. Небольшая распечатка в одну или две страницы свидетельствует о том, что допущена ошибка в одном из предложений языка управления заданиями (JCL) — к выполнению вашего задания даже не приступили. JCL требует строгости; пропущенная запятая, лишний пробел — и ваше задание даже не будет рассматриваться. Если же вы запросили распечатку дампа с помощью параметра DUMP языка управления заданиями системы DOS или DD-предложения SYSU- DUMP в системе OS, то большое количество выданных страниц свидетельствует о наличии информации дампа и, таким образом, об ошибке в процессе выполнения вашей программы. Наконец, выдача промежуточного размера обычно говорит о достижении по крайней мере частичного успеха; возможно, что ваша программа была выполнена и были получены верные результаты. Первую часть главы мы посвятим разбору второго случая, т. е. случая, когда распечатывается содержимое дампа. Мы увидим, что его содержимое может оказаться очень полезным в процессе поиска ошибок.

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

Расскажи друзьям