 |
Определение причины ошибки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Третий этап, выяснение причины ошибки, возможно, является
второй наиболее трудной стадией отладки. После того, как будет
определено местонахождение ошибки, обычно становится несколько
проще определить причину неправильной работы программы. Например,
если вы определили, что ошибка находится в процедуре с именем
PrintNames, вам достаточно просмотреть текст только этой процеду-
ры, а не всей программы. Но даже в этом случае ошибка может ока-
заться настолько "неуловимой", что вам придется немного поэкспе-
риментировать, прежде чем вы сможете ее найти.
Исправление ошибки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Последний этап заключается в исправлении ошибки. Вооружив-
шись знанием языка программирования и знанием местонахождения
ошибки, вы устраняете ее. После этого вы снова запускаете прог-
рамму, ждете появления следующей ошибки, и процесс отладки начи-
нается снова.
Примечание: Более подробное рассмотрение процесса отладки
см. в Главе 14.
При написании программы процесс, состоящий их этих четырех
этапов, повторяется многократно. Например, многочисленные синтак-
сические ошибки не позволяют откомпилировать программу, пока все
они не будут исправлены. Компиляторы фирмы Borland имеют встроен-
ные средства проверки синтаксиса, которые информируют программис-
та об ошибках такого типа и позволяют тут же их исправлять.
Однако есть ошибки гораздо более тонкие и коварные, чем син-
таксические. Они не проявляются до тех пор, пока вы не введете
отрицательное число, либо являются настолько неуловимыми, что за-
гоняют вас в тупик. Здесь-то вам и придет на помощь Турбо отлад-
чик.
Что может вам дать Турбо отладчик?
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Автономный Турбо отладчик дает вам доступ к гораздо более
мощным средствам отладки, чем те, которые имеются в самом компи-
ляторе.
Примечание: Добавление такого мощного отладчика к компилято-
ру слишком сильно увеличило бы его размер.
Турбо отладчик можно использовать для отладки любой програм-
мы на языке Си или C++ для компилятора семейства Borland, Турбо
Паскале, Турбо Ассемблере.
Турбо отладчик можно использовать для решения двух трудней-
TDeb 3.0 #1-3 = 27 =
ших проблем процесса отладки: поиска места нахождения ошибки и ее
причины. Турбо отладчик поможет вам преодолеть эти трудности с
помощью исключительных возможностей по замедлению выполнения
программы, благодаря чему вы можете исследовать состояние прог-
раммы в любой заданной точке. Вы даже можете тестировать новые
значения переменных, чтобы увидеть, как они воздействуют на вашу
программу. Эти возможности реализуются с помощью трассировки,
пошагового выполнения, просмотра, изменения и прослеживания.
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Трассировка Вы можете выполнять программу по одному опе-
ратору.
Обратная трассировка Вы можете выполнить код в обратном порядке.
Пошаговое выполнение Вы можете выполнять программу по одному опе-
ратору, но пропускать вызовы процедур и
функций. Если вы уверены, что что в процеду-
рах и функциях нет ошибок, то пропуск их вы-
зовов увеличит скорость отладки.
Просмотр Вы можете запросить Турбо отладчик создать
специальное окно для показа самых различных
вещей - переменных, их значений, точек оста-
нова, содержимого стека, файлов регистрации,
данных, файлов исходных текстов, кодов ЦП,
памяти, регистров, информации процессора,
арифметики с плавающей точкой, вывода прог-
раммы.
Проверка Вы можете запросить Турбо отладчик получить
содержимое сложных структур данных из вашей
программы.
Изменение Можно изменить содержимое переменной (как
локальной, так и глобальной) на новое значе-
ние.
Прослеживание Вы можете выделить некоторые программные пе-
ременные и прослеживать изменение их значе-
ний в процессе работы программы.
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Можно использовать эти мощные средства для разделения вашей
программы на некоторые фрагменты, подтверждать работоспособность
которых вы можете поочередно. Таким образом, вы сможете просмот-
реть всю программу, независимо от ее величины и сложности, и най-
ти ошибку. Может быть вы найдете функцию,которая неверно изменяет
значение переменной, или неправильную рекурсию, или попадание
программы в бесконечный цикл. В любом случае Турбо отладчик зна-
чительно поможет вам найти и определить тип ошибки.
В Турбо отладчик версии 2.0 и старше внесены улучшения, поз-
TDeb 3.0 #1-3 = 28 =
воляющие выполнять отладку объектно-ориентированных программ Пас-
каля и С++. Он позволяет работать с объектами и классами. Он кор-
ректно обрабатывает позднее связывание виртуальных методов или
функций-элементов, поэтому отладчик всегда выполняет и выводит на
экран корректный код.
TDeb 3.0 #1-3 = 29 =
Что Турбо отладчик не сможет сделать
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Познакомившись со всеми этими возможностями Турбо отладчика,
вы можете подумать, что он может все. В действительности есть как
минимум три вещи, которые Турбо отладчик не сможет сделать:
- Он не имеет встроенного редактора текстов для изменения
вашей исходной программы. Большинство программистов имеет
свои излюбленные редакторы, и вполне довольны ими. Было бы
расточительством памяти включать какой-либо редактор в
Турбо отладчик. Однако вы можете легко передать управление
вашему текстовому редактору, выбрав глобальную команду
Edit (Редактирование) окна File (Файл) (о локальных коман-
дах рассказывается далее). Турбо отладчик использует ре-
дактор, который задается с помощью программы установки
TDINST. Если в вас имеется компилятор Borland C++, то мож-
но использовать для запуска Турбо отладчика из интегриро-
ванной интерактивной среды программирования Турбо языков
новое средство передачи (Transfer).
- Турбо отладчик не может перекомпилировать вашу программу.
Для этого вам нужен компилятор (например, Турбо Паскаль
или Borland C++).
- Турбо отладчик не сможет заменить процесс обдумывания. Во
время отладки вашим главным инструментом является мысль.
Турбо отладчик является мощным средством, но при отсутс-
твии ее он не экономит ни время, ни усилия.
Как работает Турбо отладчик
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо отладчик TDW обеспечивает вас всеми мощными и сложными
средствами, сохраняя при этом простоту в использовании.
В TDW мощность и расширенный набор средств сопровождается
превосходной операционной средой. о которой подробнее рассказыва-
ется в следующем разделе.
Достоинства Турбо отладчика
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Мы надеемся, что начав использовать Турбо отладчик, вы скоро
не сможете без него обойтись. Турбо отладчик специально разраба-
тывался настолько простым и удобным, насколько это возможно. Для
достижения этой цели в него были заложены следующие возможности:
- Удобная и логичная система глобального меню.
- Контекстно-зависимые локальные меню, которые практически
делают ненужным запоминание и ввод команд.
TDeb 3.0 #1-3 = 30 =
- Диалоговые окна, в которых вы можете выбирать, устанавли-
вать и переключать параметры, а также вводить информацию.
- Когда вам надо ввести что-либо с клавиатуры, Турбо отлад-
чик предоставляет вам сохраненный список текстов, которые
вы уже вводили в подобных ситуациях. Вы можете выбрать лю-
бой текст из этого списка, отредактировать его или ввести
новый текст.
- Полная поддержка макрокоманд, позволяющая ускорить ввод
последовательности команд или нажатий клавиш.
- Копирование и вставка между окнами и диалоговыми окнами.
- Удобное и полное управление окнами.
- Поддержка устройства "мышь".
- Доступ к нескольким типам интерактивной подсказки.
- Запись сеанса и выполнение в обратной последовательности.
|