832 ________Часть V. Инструментарий программиста

ста, причем даже лучшие программисты склонны утверждать то же самое. Ни одна программа не компилируется с первой попытки, и каждая содержит ошибки (даже если вам кажется, что их нет).

Если программа не компилируется, это означает, что скорее всего в ней есть синтаксическая ошибка. Такие ошибки обычно легко обнаружить и исправить, поскольку компилятор укажет, в какой строке и в какой функции, с какой переменной возникла проблема. Большинство этих ошибок могут быть отнесены на счет опечаток в именах переменных или функций, пропущенных разделителей в выражениях, непарных скобок в тексте програм-мы'и т. д.

Собственно отладка не имеет отношения к синтаксическим ошибкам. Если в программе есть синтаксические ошибки, она не компилируется, а тем более не компонуется и не выполняется. Но. в обнаружении и исправлении логических ошибок встроенный отладчик может оказаться весьма полезен. В те времена, когда интегрированные среды и средства GUI (Graphical User Interface, Графический интерфейс пользователя) не были достаточно развиты, отладка в основном производилась путем вывода значений переменных в определенные моменты выполнения программы с помощью включения в соответствующие места текста программы функции printfo. Другим, быстрым и грубым методом обнаружения ошибок служил звуковой сигнал. С помощью двух этих методов, можно выделить фрагмент программы, где наиболее вероятно присутствует ошибка, а затем найти и исправить ее. Этот метод вполне пригоден, но при использовании его для отладки достаточно обширного приложения даже на то, чтобы определить, в каком из исходных файлов присутствует ошибка, уходит неоправданно много времени.

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

Встроенный отладчик — неотъемлемая часть интегрированной среды разработки Borland C++. Даже если вы не хотите его использовать, вы не можете его удалить; это часть пакета. Когда вы запускали любую программу из предыдущих глав, вы выбирали в IDE из меню Debug (Отладка) команду Run (Выполнить). Это меню изображено на рис. 29.1.

Меню Debug включает в себя много больше, чем просто возможность запустить программу. Функции отладчика рассматриваются в следующем разделе.

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