Чтобы избежать напрасной траты времени
опытные программисты редко пишут программы, которые начинают ра-
ботать с первого раза.
Чтобы избежать напрасной траты времени на долгие и бесплод-
ные поиски ошибки, постарайтесь побороть стремление случайно уга-
дать, где находится ошибка. Лучшим методом здесь будет универ-
сальный принцип "разделяй и властвуй".
Нужно сделать ряд предположений, проверив каждое из них по
очереди. Например, вы можете предположить: "Ошибка должна возни-
кать перед вызовом функции xyz". Затем нужно проверить это пред-
положение, остановив программу перед вызовом функции xyz и пос-
мотрев, есть ли ошибка. Если вы обнаружите ошибку в этой точке,
можно сделать следующее предположение, что ошибка возникает в
программе где-то раньше.
С другой стороны, если при вызове функции xyz все выглядит
прекрасно, ваше предположение оказалось неверным. Нужно изменить
это предположение на следующее: "Ошибка возникает где-то после
вызова функции xyz. Выполнив ряд аналогичных проверок, вы скоро
найдете ту часть программы, где возникает ошибка.
Это прекрасно, скажете вы, но как же определить после оста-
TDeb 3.0 #2-3 = 123 =
новки программы, что она ведет себя правильно? Один из наилучших
путей проверки поведения программы состоит в анализе значений пе-
ременных и объектов данных программы. Например, если у вас есть
подпрограмма, очищающая массив, вы можете проверить ее работу,
остановив программу после выполнения данной подпрограммы и прове-
рив затем каждый элемент массива, чтобы убедиться, что он очищен.
Стиль отладки
-----------------------------------------------------------------
У каждого свой стиль как разработки программы, так и ее от-
ладки.