МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
( технический университет )
к а ф е д р а ЭВА
О Т Ч Е Т
по лабораторной работе " Отладчик Periscope "
дисциплина: Cистемное ПО ПЭВМ
Выполнили студенты группы С-45
Преподаватель: Зарудный Д. И.
Москва 1998 г.
Отладчик Periscopе является удобным средством отладки программного кода. Он полностью написан на языке ассемблера поэтому обладает большим быстродействием.
В нем имеется возможность использования при отладке символических имен (имен из программы ) вместо адресов. Для некоторых компиляторов выводятся также номера строк исходного кода и сам исходный код.
Для обеспечения надежной работы при отладке программ Periscope обладает средствами защиты от сбоев:
- На входе сохраняются вектора BIOS, используемые Periscope. С целью обеспечить надежность Periscope затем изменяет эти прерывания, устанавливая значения, записанные в ПЗУ. На выходе из Periscope программные вектора восстанавливаются.
- Periscope использует прерывания BIOS для всех функций, кроме функций, связанных с файлами, поэтому Periscope не может вызвать DOS, если DOS уже активна. Использование BIOS позволяет вам трассировать DOS.
- Переключатель прерывания действует даже в том случае, когда прерывания заблокированы. Активные прерывания от таймера и клавиатуры обнаруживаются и обрабатываются Periscope. При необходимости клавиатура также сбрасывается.
- Если это возможно, Periscope восстанавливает состояние системы так, чтобы это не повлияло на прерванную программу. Исходный буфер клавиатуры и управляющие буфера CRT сохраняются на входе в Periscope и восстанавливаются на выходе.
При работе с Periscope предоставляются следующие возможности:
- Определять окна для информации о Данных, Регистрах, Стеке и(или) результате Дисассемблирования. Вы в любой момент можете выбрать размер окон и содержание отображаемой информации. Можно определить до 4 окон Данных!
- Отобразить память в форматах ASCII, байта, целого, целого со знаком, слова, двойного слова, короткого вещественного, длинного вещественного и ASCIIZ.
- Отобразить блок памяти по отдельным полям записи. Например, можно отобразить Префикс Программного Сегмента так, что каждое поле будет помечено и будет расположено на отдельной строке. Вы можете определить записи так, как это Вам нужно.
- Просмотреть текстовый файл из Periscope.
- В интерактивном режиме добавлять и изменять определения имен.
В лабораторной работе были использованы следующие команды Periscope:
\D
Синтаксис: D [<диапазон>]
Использование: Отображает блок памяти в текущем формате вывода.
Пример: 'D 100'
отображает память, начиная со смещения 100H.
\DA
Синтаксис: DA [<диапазон>]
Использование: Отображает блок памяти в ASCII.
Пример: 'DA FILE' отображает имя FILE в ASCII.
\J
Синтаксис: J
Использование: Выполняет до следующей команды на том же уровне.
Пример: 'J' выполняет текущую команду и возвращает управление следующей команде.
\JN
Синтаксис: JN
Использование: Переход к следующей команде без замены изображения на экране.
Пример: 'JN' выполняет текущую команду без замены изображения на экране.
\T
Синтаксис: T [<число>]
Использование: Трассирует выполнение текущей программы по одной команде.
Пример: 'T 5' трассирует 5 команд.