5403-1 (Отладка программ пользователя в Tubro Pascal)

2016-07-31СтудИзба

Описание файла

Документ из архива "Отладка программ пользователя в Tubro Pascal", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "5403-1"

Текст из документа "5403-1"

Отладка программ пользователя в Tubro Pascal

Думаю, вы не раз сталкивались с тем, что программа отказывалась работать так, как надо. Часто эти ошибки приводят к тому, что решение задачи заходило в тупик. Тут и приходят на помощь обширные средства отладки программ Turbo Pascal. Обычно эти средства используются редко, а зря. Умелая отладка программы позволяет избежать многих подводных камней и создавать идеальные программы.

Введение.

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

В помощь пользователю Turbo Pascal предоставляет средства, необходимые для отладки его программы, способствующие устранению всех ошибок в программе, ее тщательному тестированию и выполнению. Turbo Pascal позволяет легко определять местоположение ошибок во время компиляции и во время выполнения программы, а также позволяет включать или выключать автоматический контроль ошибок во время выполнения программы.

Особенно важно то, что Turbo Pascal имеет мощный и гибкий отладчик исходного уровня, который позволяет пользователю выполнять программу построчно, просматривать выражения и модифицировать переменные по мере необходимости. Отладчик встроен в интегрированную среду разработки (IDE) Turbo Pascal; пользователь может редактировать, компилировать и отлаживать программу даже не выходя из Turbo Pascal. Для больших или сложных программ, которые требуют использования всего диапазона средств отладки от машинного языка до вычисления выражений Паскаля, Turbo Pascal полностью поддерживает автономный отладчик фирмы Borland, Turbo Debugger.

Типы ошибок.

Существует три основных типа программных ошибок: ошибки времени компиляции, ошибки времени выполнения и логические ошибки.

Ошибки компиляции.

Ошибки компиляции или синтаксические ошибки встречаются, когда забывают объявить переменную, передают ошибочное количество параметров процедуры, при назначении действительного значения целочисленной переменной. Это означает, что записываются операторы, которые не согласуются с правилами Паскаля.

Turbo Pascal не закончит процесс компиляции программы пользователя (генерацию машинного кода), пока все синтаксические ошибки не будут удалены. Если Turbo Pascal обнаружит синтаксическую ошибку во время компиляции программы, он останавливает компиляцию, входит в исходный текст, указывает местоположение ошибки позиционированием курсора и выводит сообщение об ошибке в окно Edit. Как только пользователь исправит ошибку, он сможет начать процесс компиляции снова.

Если используется версия командной строки (TPC.EXE), Turbo Pascal будет выводить ошибочный оператор, номер строки и сообщение об ошибке. Затем пользователь может войти в любой используемый им редактор, найти заданную строку, исправить ошибку и перекомпилировать программу. Для дополнительной информации о сообщениях об ошибках см. Приложение А в Руководстве программиста.

Ошибки времени выполнения.

Другой тип ошибок - ошибки времени выполнения программы или семантические ошибки. Они встречаются, когда пользователь компилирует синтаксически корректную программу, которая пытается сделать что-нибудь запрещенное во время ее выполнения, например, открывает несуществующий файл для ввода или производит деление на 0. В этом случае Turbo Pascal выводит на экран следующее сообщение об ошибке: Runtime error ## at seg:ofs (Ошибка выполнения # в сегменте: смещение) и останавливает выполнение программы пользователя.

При использовании интегрированной среды Turbo Pascal определяет местоположение ошибки выполнения автоматически, осуществляя переход в окно редактирования для соответствующего исходный файл.

Если пользователь выполняет программу в среде MS-DOS, он будет возвращаться в MS-DOS. Пользователь может загрузить модуль TURBO.EXE и использовать опции Search/Find error для локализации позиции ошибки в исходной программе (убедитесь, что опция Destination установлена в Disk). Для обнаружения ошибки пользователь может также использовать и опцию /F для компилятора командной строки (TPC.EXE).

(Более полное объяснение опций командной строки TPC.EXE приведено в главе 9 "Компилятор командной строки".)

Логические ошибки.

Программа пользователя может содержать и логические ошибки. Это означает, что программа делает то, что ей указали вместо того, что хотелось бы. Может отсутствовать инициализация переменной; могут оказаться ошибочными вычисления; рисунки, изображенные на экране, выглядят неправильно; программа может просто работать не так, как было задумано. Такие ошибки находятся с большим трудом, и интегрированный отладчик поможет вам в этом случае наилучшим образом.

Интегрированный отладчик Turbo Pascal.

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

Интегрированный отладчик Turbo Pascal имеет все описанные выше возможности и даже более того. Он представляет собой встроенную часть интегрированной усовершенствованной среды Turbo Pascal (IDE): для использования предлагаются две основные функции меню (Run, Debug), а также некоторые клавиши для команд отладчика. Для дополнительной информации об IDE горячих клавишах см. главу 7 "Справочник по IDE" или справочную информацию о Turbo Pascal.

Что может делать отладчик.

Интегрированный отладчик работает очень просто. Ему не требуются специальные инструкции в Вашем коде, он не увеличивает размер Вашего .EXE файла и не требует перекомпиляции для создания отдельного .EXE файла после окончания отладки.

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

Если Вы используете оверлеи, отладчик автоматически обрабатывает их внутри IDE, которая выполняет переключения между компилятором, редактором и отладчиком.

Обзор возможностей отладчика:

Трассировка. F7

Run/Trace Into Вы можете выполнить одну строку вашей программы, затем прерваться и посмотреть на результаты. При вызове процедуры или функции внутри вашей программы, Вы можете задать режим выполнения вызова как одного шага или режим трассировки этой процедуры или функции строка за строкой.

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

Переход на курсор. F4

Run/Go to Сursor Вы можете передвинуть курсор на определенную строку в Вашей программе, а затем указать отладчику выполнить программу до достижения этой строки. Это позволяет обходить циклы или другие утомительные участки программы, это также позволяет перебираться в то место программы, откуда Вы хотите начать отладку.

Прерывание.

С помощью команды Debug/Breakpoints Вы можете пометить строки в Вашей программе как точки прерывания. Когда в процессе выполнения Вашей программы достигается точка прерывания, выполнение программы приостанавливается и отображается исходный текст и курсор останавливается на строке с точкой прерывания. Затем Вы можете проверить значения переменных, начать трассировку или выполнить программу до другой точки прерывания. Вы можете подключить условие к точке прерывания. Вы можете также прерваться в любой точке Вашей программы, нажав клавишу Ctrl-Break. Произойдет остановка на следующей строке исходной программы, как если бы в этой строке была установлена точка прерывания.

Наблюдение.

Debug/Watches Пользователь имеет возможность задавать для просмотра в окне Watch некоторые объекты (переменные, структуры данных, выражения). Просматриваемые данные меняются, отражая текущие изменения в программе при пошаговом выполнении.

Вычисление/модификация Ctrl-F4.

Debug/Evaluate/Modify Пользователь может вызвать окно Evaluate, что проверить значения переменных, структуру данных и выражения в интерактивном режиме. Используя окно Evaluate, Вы можете изменить значение любой переменной, включая строки, указатели, элементы массива и поля записей. Это обеспечивает простой механизм для проверки, как Ваш код реагирует на определенную установку значений или условий.

Поиск.

Пользователь может быстро находить объявления процедур или функций, даже если программа разбита на несколько модулей (Search/Find Рrocedure). Во время трассировки Вы можете быстро вернуться обратно из вызовов процедур или функций и проверить параметры каждого вызова (Window/Call Stack).

Подготовка к использованию отладчика.

До начала отладки Вы должны понимать, что основным элементом выполнения в отладчике является строка, а не оператор. Более точно наименьшим элементом выполнения является строка. Если на одной строке находится несколько операторов, они будут выполняться вместе при нажатии F7. С другой стороны, если один оператор размещен на нескольких строках, то при нажатии F7 будет выполняться весь оператор. Все команды выполнения основываются на строках, включая пошаговую отладку и точки прерывания; строка, на которой находится выполнение, всегда отмечена курсором выполнения.

Прежде, чем начать отладку программы, Вы должны задать для компилятора Turbo Pascal инструкцию по генерации таблицы символов и таблицы номеров строк этой программы. Таблица символов представляет собой небольшую базу данных со всеми используемыми идентификаторами - константами, типами, переменными, процедурами и информацией о номерах строк. Директивы компилятора $D+ и $L+ делают это по умолчанию; они соответствуют элементам меню Options/Compiler/Debug Information и Options/Compiler/Local Symbols. Так же по умолчанию установлена опция Options/Debugger/Integrated, которая генерирует отладочную информацию в выполнимом файле.

Директива {$D+} генерирует таблицу номеров строк, которая устанавливает соответствие между объектным кодом и исходным модулем. Директива {$L+} генерирует локальную отладочную информацию, а именно, строит список идентификаторов, локальных для каждой процедуры или функции, для того, чтобы отладчик мог хранить информацию о них в процессе отладки. Когда Вы используете директивы компилятора, разделяйте их запятыми и без пробелов, и ставя $ только перед первой директивой; например {$D+,L+}.

Примечание: Вы можете отключить эти переключатели для сохранения памяти или дискового пространства во время компиляции.

Когда Вы выполняете пошаговую отладку, Turbo Pascal будет иногда переключаться на экран пользователя, выполнять Ваш код, а затем возвращаться в интегрированную среду, ожидая следующей команды. Вы можете управлять переключением экрана с помощью установок Options/Debugger/Display Swapping, которые могут принимать 3 значения:

Smart: Это режим по умолчанию. Среда IDE переключается на экран пользователя, когда программа обращается к видеопамяти или при вызове программы.

Always: Переключение на экран пользователя происходит на каждом шаге.

None: Переключение экранов не происходит. Интегрированная среда остается видимой все время. Если в программе предусматривается вывод на экран или требуется ввод информации, текст будет писаться на экране среды. Вы можете восстановить окна интегрированной среды, выбирая Ё/Refresh Display.

Начало сеанса отладки.

Наиболее быстрый способ начать отладку состоит в загрузке программы и выборе команды Run/Trace Into (F7). Программа будет компилироваться. Когда компиляция завершится, редактор отобразит на дисплей тело основной программы с индикацией строки выполнения на первом операторе begin. Пользователь может начать трассировку программы с этого места (нажать клавиши F7 или F8) или использовать другие методы которые приведены ниже.

Если пользователю необходимо начать отладку с определенного места программы, он может выполнить программу до этого места, а затем остановиться. Для этого, загрузите нужный раздел исходного модуля в редактор и передвиньте курсор на строку, где Вы желаете остановиться. Затем можно поступить двумя способами:

- Выбрать команду Run/Goto Cursor (или нажать клавишу F4), которая будет выполнять программу пользователя до достижения строки, помеченной курсором, а затем останавить работу программы.

- Задать на указанной строке точку прерывания (выбрать команду Debug/Toggle Breakpoint или нажать на Ctrl-F8), затем выполнить программу (выполнить команду Run/Run или нажать Ctrl-F9); остановка будет происходить каждый раз при достижении заданной строки. Вы можете задать несколько точек прерывания, в этом случае программа будет делать остановку всякий раз при достижении какой-либо из этих точек.

Рестарт сеанса отладки.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5138
Авторов
на СтудИзбе
443
Средний доход
с одного платного файла
Обучение Подробнее