Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Руководство по Soft-ICE (DOS)

РАЗДЕЛ I -- Изучение Soft-ICE

ГЛАВА 1

1.1 Описание Продукта

Soft-ICE - инструмент отладки программного обеспечения, который обеспечивает

возможности отладки на аппаратном уровне для отладчиков PC DOS и MS DOS.

Soft-ICE использует защищенный режим 80386, чтобы запускать DOS в виртуальной

машине. Это дает Soft-ICE полный контроль над окружением DOS. Soft-ICE

использует особенности защищенного режима 80386, типа страничной организации

памяти, уровня привилегий ввода/вывода и регистров отладки, для установки

аппаратных точек останова из вашего существующего отладчика DOS.

Soft-ICE был разработан для достижения трех целей:

1. Использовать возможности виртуальной машины 80386 для тех способов

отладки, которые являются невозможными или недопустимо медленными

для отладчиков, использующих только программные средства

(например, аппаратные точки останова в режиме реального времени,

защита памяти, борьба с программами, вызывающими зависание системы

и т. д.).

2. Работать с существующими отладчиками. Мы хотели предоставить инстру-

мент, который работал бы с существующими инструментами. Мы разработали

Soft-ICE таким образом, чтобы вам не нужно было изучать новый отладчик

для получения мощных возможностей для отладки программ на аппаратном

уровне.

3. Быть программой, дружественной к пользователю, с окном,

которое всплывает немедленно и не мешает работать. Все

команды Soft-ICE были разработаны, чтобы помещаться в

небольшом окне так, чтобы была видна информация за

НЕ нашли? Не то? Что вы ищете?

экраном Soft-ICE. Динамическая система

интерактивной помощи помогает пользователям,

редко использующим Soft-ICE.

Предоставляемые возможности программы Soft-ICE:

* Точки останова на чтение/запись в ОЗУ в режиме реального времени,

на чтение/запись в порты и области памяти и на прерывания

* История выполнения команд для обратной трассировки

* Символьная отладка и отладка на уровне исходных текстов

* Окружение, работающее с существующими отладчиками

* Полная поддержка EMM 4.0

* Возможность наращивания основной памяти свыше 640КБ для систем с

монохромными адаптерами

* Окно, всплывающее в любое время

* Способность всплытия по нажатию клавиши даже при отключенных прерыва-

ниях

* Код отладчика, изолированный при помощи защищенного режима 80386. Это

предотвращает изменение или разрушение Soft-ICE выполняющейся

программой; даже если DOS будет разрушена, Soft-ICE все еще будет

работать

* Способность настроить Soft-ICE не использовать память ниже границы

640КБ, если в системе есть больше чем 640КБ

* Дружественная динамическая помощь

* Возможность использования в качестве автономного отладчика.

Эта возможность полезна при отладке загружаемых драйверов устройств,

обработчиков прерываний, последовательностей команд, которые

традиционные отладчики не могут пройти; если ваш отладчик испытывает

трудности при повторных вхождениях в код (re-entrancy)

* Способность мягкой перезагрузки, позволяющая отлаживать

другие операционные системы или самозагружающиеся

программы

* Простая установка без необходимости настройки DIP-переключателей для

предотвращения захвата портов и никаких конфликтов с адресным

пространством ОЗУ

Внимание:

Soft-ICE будет работать только с программами реального режима адресации.

Он не будет работать с программами, которые используют инструкции

защищенного режима 80286 или 80386.

1.2 Использование этого Руководства

Руководство по Soft-ICE разделено на четыре основные части:

Изучение Soft-ICE (Часть I)

Команды (Часть II)

Поддерживаемые Возможности (Часть lII)

Дополнительные Темы (Часть IV)

Soft-ICE можно использовать в большинстве отладочных задач после прочтения

Части I,"Изучение Soft-ICE" и небольшого экспериментирования. Дружествен-

ная интерактивная система помощи пользователям Soft-ICE может использоваться

для получения описания и синтаксиса команд.

Часть "Изучение Soft-ICE" содержит инструкции по установке, описание интер-

фейса пользователя и обучающую часть. Обучающая часть предназначена для того,

чтобы вы быстро смогли освоиться и начать работу.

Часть "Команды" описывает все команды Soft-ICE. Описания команд

упорядочены по функциональным группам с буквенным индексом

для ссылок.

Часть "Поддерживаемые Возможности" охватывает расширенные опции загрузки,

символьную отладку и отладку на уровне исходных текстов, возможности EMM 4.0.

Часть "Дополнительные Темы" охватывает темы типа использования Soft-ICE с

загружаемыми драйверами ДОС и использования Soft-ICE с другими ОС (non-DOS).

Во всем руководстве, особенно в обучающей части и части с описанием

команд, даны примеры, требующие ввода данных в Soft-ICE. Когда в

руководстве указано

"Нажмите" клавишу, вы должны нажать указанную клавишу. Когда в руководстве

указано "Введите" команду типа WIN, вы должны набрать на клавиатуре указан-

ные буквы, после чего нажать ВВОД.

1.3 Системные требования

Soft-ICE работает с IBM Серии II модели 70 и 80, Compaq 80386 и компьютерами

80386SX, с совместимыми с AT и 80386 картами сопроцессора. Soft-ICE

будет работать с сопроцессорами 80386 XT только, если они совместимы с AT.

Soft-ICE лучше всего работает при наличии расширенной памяти, но так же

прекрасно работает на системах только с основной памятью.

Soft-ICE не использует DOS или ROM BIOS для видео вывода и клавиатурного

ввода. Поэтому видеоадаптер должен быть совместим с одним из следующих:

MDA, Hercules, CGA, EGA или VGA. Soft-ICE также поддерживает двухмониторную

конфигурацию, которая очень полезна при отладке программ, интенсивно работа-

ющих с видеоадаптером.

ГЛАВА 2

2.1 Дискеты

Soft-ICE поставляется на дискетах 5 1/4 или 3 1/2 дюйма.

При запуске Soft-ICE, как мера против компьютерных пиратов,

на экран выводится имя лица, обладающего лицензией на использование

вашей копии Soft-ICE. Для вашего удобства дискета с Soft-ICE физически

не защищена от копирования. Для нашего удобства, мы надеемся на ваше

серьезное отношение к нашему лицензионному соглашению. Важно сделать

резервную копию дискеты на случай повреждения оригинала.

В директории дискеты Soft-ICE должны находиться следующие файлы:

S-ICE. EXE

S-ICE. DAT

LDR. EXE

MSYM. EXE

EMMSETUP. EXE

UPTIME. EXE

README. SI

SAMPLE. EXE

SAMPLE. ASM

SAMPLE. SYM

S-ICE. EXE - программа Soft-ICE.

S-ICE. DAT - файл инициализации Soft-ICE.

LDR. EXE - загрузчик программ и символьных файлов, входящий в пакет Soft-ICE.

MSYM. EXE - программа создания символьных файлов, входящая в пакет Soft-ICE.

EMMSETUP. EXE - программа, позволяющая вам определить способ использования

вашей системой отображаемой памяти.

UPTIME. EXE устанавливает время в соответствии с часами реального времени.

README. SI - текстовый файл, содержащий информацию о Soft-ICE, которая не

входит в это руководство.

SAMPLE. EXE - короткая демонстрационная программа, которая используется в

обучающей части.

SAMPLE. ASM - файл с исходным текстом демонстрационной программы на

Ассемблере

SAMPLE. SYM - символьный файл для демонстрационной программы.

2.2 Загрузка Soft-ICE

Перед запуском Soft-ICE, скопируйте все файлы с дистрибутивной дискеты на

ваш жесткий диск.

Эти файлы должны быть помещены в каталог, доступный через ваш дополнительный

список путей (path list).

S-ICE. EXE может быть загружен как драйвер устройства в CONFIG. SYS или запущен

как программа из командной строки. Чтобы использовать большинство возможностей

Soft-ICE, S-ICE. EXE должен быть загружен как драйвер устройства в CONFIG. SYS.

Внимание:

Если у вас нет расширенной памяти, Soft-ICE НЕ может быть загружен как драйвер

устройства. Вместо этого он должен быть запущен из командной строки DOS.

2.2.1 Загрузка Без Расширенной Памяти

Когда нет расширенной памяти, Soft-ICE загружается в максимально высокие

адреса памяти. В таком случае память, используемая Soft-ICE, исключается из

карты памяти, что делает его невидимым для программ DOS. Так как после

загрузки Soft-ICE уменьшается память, видимая программами DOS, рекомендуется

загружать Soft-ICE до всех TSR или контролирующих программ.

Если у вас нет расширенной памяти, просто введите:

S-ICE

2.2.2 Загрузка С Расширенной Памятью

Загрузка Soft-ICE с расширенной памятью может выполняться одним из двух путей:

1. Установить S-ICE. EXE как драйвер в CONFIG. SYS,

Этот метод необходим, если вы будете использовать какую-то

из следующих возможностей:

* Разделение памяти с программами, которые используют

расширенную память, используя вызовы ROM BIOS

(VDISK. SYS, RAMDRIVE. SYS,

HIMEM. SYS, кэш-программы и т. д..).

* Использование возможностей Soft-ICE - EMM 4.0

* Использование Soft-ICE для символьной отладки или отладки на уровне

исходного текста.

* Использование обратной трассировки.

* Использование Soft-ICE с другими продуктами Nu-Mega,

такими как MagicCV,

Загруженный как драйвер, Soft-ICE выделяет

часть расширенной памяти для себя и связанных

с ним компонент, так что не возникает никаких

конфликтов в памяти. S-ICE. EXE должен быть загружен

в CONFIG. SYS перед всеми другими драйверами, которые

выделяют расширенную память при загрузке (например

VDISK. SYS, RAMDRIVE. SYS). Вообще Soft-ICE работает

лучше всего, если он является первым загружаемым

драйвером, установленным в CONFIG. SYS.

Для начинающих пользователей Soft-ICE рекомендуется

загружать Soft-ICE как первый драйвер в CONFIG. SYS

в следующем виде:

device = диск:\путь\S-ICE. EXE /SYM 50

Диск и путь определяют директорию, в которой

находится S-ICE. EXE. Эта строка загрузит Soft-ICE

при инициализации системы и этого будет достаточно

для обучающей части. Однако, Soft-ICE не будет установлен

для использования некоторых более мощных возможностей,

типа EMM 4.0. Вы можете реконфигурировать

Soft-ICE и включить эти возможности после того,

как вы немного поэкспериментировали. Если у вас уже есть

опыт работы с Soft-ICE или вы хотите немедленно

установить Soft-ICE с этими возможностями, пожалуйста

прочтите главу 6 (Опции Инициализации Soft-ICE).

Предостережение:

При первой на вашей системе установке любого нового драйвера устройства,

желательно иметь системную дискету. Это - предупредительная мера для тех не-

желательных случаев, когда параметры, принимаемые драйвером по умолчанию, не

совместимы с вашей системой.

Если вы точно не знаете, как отредактировать ваш файл CONFIG. SYS,

обратитесь к руководству пользователя вашей системы или руководству

вашего текстового редактора. После того, как вы изменили ваш CONFIG. SYS

вы должны перезагрузить вашу систему, чтобы внесенные изменения вступили

в силу.

2. Запустите, Soft-ICE из командной строки DOS, набрав

S-ICE. Прежде, чем фактически загрузиться, Soft-ICE выдаст

сообщение о загрузке и командную строку. Для предотвращения

вывода этой командной строки, поместите слово EXTENDED в файл

S-ICE. DAT. См. часть 6.4 для получения более подробной информации

о файле S-ICE. DAT. При использовании этого

метода, S-ICE. EXE автоматически загружается в

верхнюю точку расширенной памяти, если там еще

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

нет других программ, использующих расширенную

память, этот метод - приемлем. Загруженный

этим методом, Soft-ICE занимает НОЛЬ байт

основной памяти. Команда, которую вы используете:

S-ICE

Примечания:

Вы НЕ можете активизировать все возможности Soft-ICE при загрузке из

командной строки. Если вы будете использовать Soft-ICE как автономный

отладчик, рекомендуется загрузить Soft-ICE из CONFIG. SYS.

Если вы хотите загрузить Soft-ICE как драйвер устройства, но не хотите, чтобы

Soft-ICE был резидентным все время, вы должны использовать переключатель /UN.

Обратитесь к части 6.3.1 для получения большей информации.

2.2.3 Конфигурирование Soft-ICE для Запуска с Установками Пользователя

Вы можете настраивать Soft-ICE при помощи переключателей Soft-ICE в CONFIG. SYS

и при помощи файла инициализации Soft-ICE S-ICE. DAT. Переключатели в

CONFIG. SYS позволяют указать метод резервирования расширенной памяти,

используемый Soft-ICE'ом. Файл инициализации S-ICE. DAT позволяет вам указать

опции конфигурации, указать команды, выполняемые по нажатию функциональных

клавиш, и определить строку автостарта. Строка автостарта используется, для

выполнения ряда команд, которые вы всегда используете при установке Soft-ICE.

Для более полной информация о настройке Soft-ICE, обратитесь к главе 6.

2.3 Выгрузка Soft-ICE

Когда-нибудь вам может понадобиться выгрузить Soft-ICE. Типичная причина для

выгрузки Soft-ICE - необходимость запуска программы, использующей инструкции

защищенного режима 80286 или 80386. Чтобы выгрузить Soft-ICE, введите:

S-ICE /U

Эта команда возвращает машину в реальный режим адресации. Если Soft-ICE

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

для Soft-ICE и не может использоваться другими программами. Если Soft-ICE

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

используемую S-ICE. EXE.

Предостережение:

Если в вашей системе есть наращенная память или если в настоящее время

используется расширенная память, выгрузка Soft-ICE может вызвать зависание ОС.

2.4 Повторная Загрузка Soft-ICE

Soft-ICE может быть повторно загружен в любое время, даже если он был перво-

начально загружен из CONFIG. SYS. Если Soft-ICE был загружен из CONFIG. SYS,

то первоначальная конфигурация (EMM 4.0, символы и исходный текст...)

остается в силе. Чтобы повторно загрузить Soft-ICE, введите:

S-ICE

ГЛАВА 3

3.1 Введение

Все взаимодействие с Soft-ICE происходит в окне, которое может быть

вызвано в любое время. Все команды Soft-ICE помещаются в маленьком окне, но

окно может быть увеличено до полного экрана. Обычно вы будете использовать

маленькое окно при использовании Soft-ICE в дополнение к другому отладчику и

большое окно при использовании Soft-ICE в автономном режиме.

Окно сразу выводится во весь экран, если вы используете

файл конфигурации Soft-ICE (S-ICE. DAT), включенный

в дистрибутив.

3.2 Вызов Всплывающего Окна

Вы можете вызвать окно в любое время после установки Soft-ICE. По умолчанию

Soft-ICE вызывается нажатием клавиш CTRL и D. Однако, эта комбинация

может быть изменена, при помощи команды ALTKEY (см. часть 5.8).

3.3 Возврат Из Окна

Вернитесь к первоначальному экрану, используя команду X или комбинацию

клавиш, которую вы использовали для вызова Soft-ICE. Любые точки останова,

которые вы установили во время работы в Soft-ICE, останутся в силе.

3.4 Изменение Размера Окна

Вы можете изменять как ширину, так и высоту окна Soft-ICE.

Изменение размера окна особенно полезно в автономном режиме, когда на экран

выводится память с кодом программы.

Высота окна может изменяться от 8 до 25 строк. Для изменения высоты

окна используйте следующие комбинации клавиш:

ALT + стрелка вверх -- увеличивает высоту окна

ALT + стрелка вниз -- уменьшает высоту окна

Для изменения ширины окна, используйте команду WIN (см. часть 5.9).

Ввод WIN без параметров переключает следующие два режима:

режим WIDE - полная ширина экрана

режим NARROW - ширина 46 символов

Некоторые команды (то есть D, E, R, U) используют преимущество большой ширины

для вывода большего количества информации, когда окно находится в режиме WIDE.

3.5 Перемещение Окна

Окно Soft-ICE подвижно и может быть помещено куда угодно на

экране. Это особенно полезно, когда окно находится в режиме NARROW.

Перемещайте окно в любое время, когда вам нужно видеть информацию на экране за

окном. Следующие комбинации клавиш перемещают окно:

CTRL стрелка вверх -- на строку вверх

CTRL стрелка вниз -- на строку вниз

CTRL стрелка вправо -- на одну позицию вправо

CTRL стрелка влево -- на одну позицию влево

3.6 Клавиши Редактирования

Простой в использовании строковый редактор Soft-ICE позволяет повторно вызы-

вать и редактировать предыдущие команды. Функции строкового редактора подобны

функциям популярного редактора CED.

Следующие комбинации клавиш помогают при редактировании команд в окне команд:

стрелка вправо -- перемещает курсор вправо

стрелка влево -- перемещает курсор влево

INS -- переключает режим вставки

DEL -- удаляет текущий символ

HOME -- перемещает курсор в начало строки

END -- перемещает курсор в конец строки

стрелка вверх -- выводит предыдущую команду

стрелка вниз -- выводит следующую команду

SHIFT стрелка вверх -- прокрутка на одну строку вверх

SHIFT стрелка вниз -- прокрутка на одну строку вниз

PAGE UP -- прокрутка на одну страницу вверх

PAGE DN -- прокрутка на одну страницу вниз

BKSP -- удаляет предыдущий символ

ESC -- отменяет текущую команду

Есть специальные назначения клавиш, когда курсор находится в окне данных или

окне кода. Они описаны в частях для команд E и EC соответственно. Одно из

таких специальных назначений - SHIFT и SHIFT, когда курсор находится в

окне кода. Эти клавиши переназначаются так, что они выполняют функции, которые

обычно выполняют клавиши и. Таким образом вы можете повторно вызывать

предыдущие команды, когда курсор находится в окне кода.

3.7 Диалоговая Строка Состояния

Строка состояния в нижней части окна обеспечивает диалоговую помощь по

синтаксису команд.

3.8 Синтаксис Команд

Soft-ICE - отладочный инструмент с командным управлением. Для взаимодействия с

Soft-ICE вы вводите команды, которые могут изменяться при помощи параметров.

Все команды - текстовые строки, длиной от одного до шести символов, нечувстви-

тельные к регистру букв. Все параметры являются ASCII-строками или

выражениями.

Выражения - обычно числа, но могут также быть комбинациями чисел и операторов

(например, + - / *). Все числа выводятся в шестнадцатеричном формате.

Параметры типа byte - 2 цифры длиной, параметры типа word - 4 и параметры

типа double word - 2 параметра типа word, разделенные двоеточием (:).

Вот несколько примеров параметров:

12 -- параметр типа byte

10FF -- параметр типа word

E000:0параметр типа double word

Вместо байтов или слов в выражении могут использоваться регистры. Например,

команда " U CS:IP-10 " начнет дизассемблирование инструкций с адреса, находя-

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

могут использоваться следующие названия регистров:

AL, AH, AX, BL, BH, BX, CL, CH, CX, DL, DH,

DX, DI, SI, BP, SP, IP, CS, DS, ES, SS или FL

3.8.1 Определение Адресов Памяти

Много команд Soft-ICE требуют в качестве параметров адреса памяти. Адрес

памяти - это значение, состоящее из двух 16-битных слов, разделенных

двоеточием. Первое слово - адрес сегмента, второе слово - смещение

сегмента.

В любой команде Soft-ICE вместо адреса могут использоваться публичные символы.

Публичные символы могут быть загружены в Soft-ICE загрузчиком программ

(LDR. EXE). См. главу 7 (Символы и Исходный текст) для получения полного описа-

ния использования публичных имен.

Интерпретатор выражений Soft-ICE распознает несколько специальных символов в

объединении с адресами. Это следующие специальные символы:

$ -- Текущий CS:IP.

@адрес -- указатель типа double word

.число -- номер строки в исходном тексте

Символ $ может использоваться вместо CS:IP при вводе текущего адреса указателя

команд.

Символ @ позволяет вам обращаться к двойному слову, на которое указывает

адрес. Вы можете использовать несколько уровней @.

Если символ. предшествует адресу, адрес будет интерпретироваться как номер

строки в текущем исходном файле, а не как фактический адрес.

Это имеет силу, только когда загружены исходные файлы. В этом случае

адрес интерпретируется как десятичное число.

Примеры:

U.1234

Эта команда начинает дизассемблирование инструкций в строке 1234(десятич.)

исходного текста.

U $-10

Эта команда дизассемблирует инструкции, начинающиеся за 10

байт до текущего адреса в указателе команд.

G @SS:SP

Предполагает, что вы - на первой инструкции обработчика

прерывания. Ввод этой команды установит временную точку

останова на адрес возврата в стеке и пропускает подпрограмму

обработчика прерывания.

3.9 Функциональные Клавиши

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

которая может быть введена в Soft-ICE. Их можно переназначать из командной

строки или заранее путем их определения в файле S-ICE. DAT.

По умолчанию S-ICE. DAT, поставляемый на дистрибутивной дискете, содержит

определения для всех 12 функциональных клавиш. Вы можете изменять любое из

этих определений в любое время. Они присутствуют в качестве примера, но они

предназначены для облегчения работы пользователей Microsoft CodeView, по умол-

чанию работают следующие назначения:

F1 -- Выводит общую помощь (H;)

F2 -- Включает окно регистров (^WR;)

F3 -- Изменяет текущий режим работы с исходным текстом (^SRC;)

F4 -- Восстанавливает экран (^RS;)

F5 -- Возвращается в вашу программу (^X;)

F6 -- Переключает курсор между окном команд и

окном кода (^EC;)

F7 -- Прогоняет программу до текущей позиции курсора (^HERE;)

F8 -- Выполняет одиночную инструкцию (^T;)

F9 -- Устанавливает точку останова в текущей позиции курсора (^BPX;)

F10 - Выполняет подпрограмму или цикл (^P;)

F11 - Перейти к адресу возврата (большая модель)

(^G @SS:SP;)

F12 - выводит номер версии Soft-ICE (^VER;)

Знак "сaret" (^), предшествующий команде, делает ее невидимой, точка с

запятой (;) после команды производит перевод строки. Вы можете вывести на

экран текущие назначения функциональных клавиш, введя команду:

FKEY

Для использования функциональной клавиши просто нажмите ее вместо ввода

команды. При необходимости программирования функциональных клавиш, см.

часть 5.8 для получения описания команды FKEY или главу 6 для получения

описания предварительной инициализации функциональных клавиш в S-ICE. DAT.

3.10 Помощь

Команда помощи выводит краткое описание, синтаксис выражения и

пример каждой команды. Чтобы получить информацию помощи, введите:

? или H -- выводит краткие описания всех

команд и операторов

? команда или

H команда -- выводит более детальную информацию по

указанной команде, синтаксис и

пример

? выражение или

H выражение -- выводит значение выражения в шестнадцатеричном,

десятичном и ASCII формате

3.11 Обучающая Часть

Эта обучающая часть демонстрирует некоторые из возможностей Soft-ICE и дает

вам возможность попробовать использовать Soft-ICE. Soft-ICE может быть

использован вместе с другим отладчиком или как автономный отладчик. Обучающая

часть демонстрирует использование Soft-ICE как дополнение к отладчику DOS

DEBUG, а потом показывает, каким образом Soft-ICE может использоваться как

автономный отладчик с загруженным исходным текстом и символами. DEBUG можно

найти на системной дискете PC DOS или MS DOS. Если у вас нет DEBUG, вы можете

найти другой отладчик или использовать Soft-ICE как автономный отладчик.

Пользователи, которым необходимо использовать Soft-ICE для "обратного проекти-

рования" или для отладки загружаемых драйверов устройств DOS или резидентных

программ, также должны пройти эту обучающую часть. Даже если примеры программ

этих типов непосредственно не демонстрируются, вы получите представление об

отладке при помощи Soft-ICE. Рекомендуется поэкспериментировать с Soft-ICE и

вашим специфическим окружением до начала работы с реальным

проектом.

Для демонстрации аппаратных точек останова используется короткая программа на

языке ассемблера с тонким изъяном. Программа-пример была сделана максимально

короткой и ясной для тех, кто не очень знаком с языком ассемблера. Обучающая

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

Soft-ICE. Не стесняйтесь экспериментировать по собственной инициативе после

прохождения обучающей части.

Так как Soft-ICE очень гибок, он позволяет вам загружать его оптимальным для

вашей системы образом. Пройдите процедуры установки в части 2.2 перед тем

как продолжить изучать обучающую часть.

Если у вас в системе нет расширенной памяти, вы должны загрузить Soft-ICE

из командной строки. При загрузке Soft-ICE из командной строки вы не сможете

загружать символы или файлы с исходными текстами. В этом случае вы должны

перейти к последней теме обучающей части, где Soft-ICE используется как

автономный отладчик.

Soft-ICE может быть загружен из командной строки DOS или как драйвер

устройства в CONFIG. SYS. Для этой обучающей части вы должны установить

Soft-ICE в CONFIG. SYS с хотя бы 50КБ расширенной памяти для символов и

файлов с исходным текстом. Soft-ICE должен быть первым драйвером устройства,

установленным в CONFIG. SYS. Строка установки устройства должна выглядеть так:

DEVICE = диск:\путь\S-ICE. EXE /SYM 50

Параметр /SYM 50 указывает Soft-ICE резервировать 50 килобайтов расширенной

памяти для символов и файла с исходным текстом. Этого недостаточно для решения

реальных задач, но будет работать с нашей программой-примером.

Вы должны перезагрузить вашу систему после помещения этой строки в CONFIG. SYS.

Когда вы перезагрузите вашу систему, Soft-ICE выведет информацию об авторских

правах, регистрационный номер, имя владельца этой копии Soft-ICE

и количество расширенной памяти, зарезервированной для каждой компоненты

Soft-ICE. В системе с 384КБ расширенной памяти начальный экран

напоминает следующий:

Soft-ICE Ваше имя Название вашей компании # SInnnnnn

Copr. (C) Nu-Mega Technologies All Rights Reserved Soft-ICE

Version 2.00 Soft-ICE is loaded from H up to H. 50K of

symbol space reserved. 10K of back trace space reserved. 200 K of extended

memory available.

Сообщение "Soft-ICE загружен..." указывает вам точную область

памяти, которая занята Soft-ICE и его компонентами. Если у вас

Compaq или клон Compaq и включено слово COMPAQ в ваш файл S-ICE. DAT,

вы также увидите сообщение : "Using high memory from XXXXXXXX to

00FE0000H".

Следующая строка сообщает, сколько памяти было зарезервировано под символы.

Эта память используется для символов и файлов с исходными текстами.

Следующая строка сообщает, сколько памяти было зарезервировано для истории

обратной трассировки. По умолчанию резервируется 10КБ. Эта область памяти

используется командой SNAP и командой BPR с опциями T или TW.

Последняя строка сообщает вам, сколько памяти оставлено под обычную расширен-

ную память. Эта память может использоваться другими программами, типа HIMEM,

SMARTDRIVE, VDISK и т. д.

Перейдите в директорию вашего жесткого диска, в которую вы поместили все

файлы с вашей дистрибутивной дискеты. Помните, что этот каталог должен быть

доступен через переменную PATH.

Прежде чем начинать тяжелую отладку, давайте вызовем окно Soft-ICE и

произведем его проверку.

Очистите экран, введя:

CLS

Вызовите окно Soft-ICE, нажав:

CTRL D

Теперь окно Soft-ICE - на экране. Если ваш файл S-ICE. DAT доступен

через переменную PATH, то окно Soft-ICE будет занимать весь экран. Он

будет разделен на четыре части. Сверху вниз эти части :

окно регистров, окно данных, окно

кода и окно команд. Если S-ICE. DAT не был найден, у вас будет маленькое окно

в центре экрана. Это также означает, что другие компоненты, необходимые для

обучающей части, не были загружены.

Если видимо маленькое окно, вы должны:

1. Выйти из Soft-ICE, введя X.

2. Выгрузить Soft-ICE, введя S-ICE /U.

3. Скопировать файл S-ICE. DAT с дистрибутивной

дискеты в каталог, доступный через существующую

переменную PATH.

4. Повторно начать демонстрационный пример.

Сейчас мы перейдем к маленькому окну. Маленькое окно очень

удобно для использования Soft-ICE в дополнение к другому отладчику.

Введите:

WIN

Это приведет к появлению маленького окна команд в центре экрана вместо большо-

го. На этом экране видно несколько команд Soft-ICE. Это - остатки строки

инициализации из S-ICE. DAT, которые первоначально установили Soft-ICE в

полноэкранный режим.

Вы заметите символ стимула (:) и строку состояния в нижней части

окна.

Окно Soft-ICE может перемещаться относительно экрана, так же может быть

отрегулирован размер окна.

Переместите окно по экрану, нажимая:

CTRL стрелка вверх-- перемещает окно на одну строку вверх

CTRL стрелка вниз -- перемещает окно на одну строку вниз

CTRL стрелка вправо -- перемещает окно на одну позицию вправо

CTRL стрелка влево -- перемещает окно на одну позицию влево

Измените размер окна так, чтобы оно заполнило весь экран,

введя:

WIN

Вы увидите, что восстановился первоначальный экран.

Вернитесь к маленькому окну, снова введя

WIN.

Сделайте окно выше или ниже, нажимая:

ALT стрелка вверх -- делает окно выше

ALT стрелка вниз -- делает окно ниже

Теперь представьте, что происходит, когда вы - перед новой программой и точно

не знаете, что делать дальше -- вы просите помощи.

Получите помощь, введя:

?

Обратите внимание, что вывод на экран прекращается до нажатия любой клавиши

прежде чем прокрутить информацию по экрану. Посмотрите на строку состояния в

в нижней части окна. В строке состояния выведены инструкции: "Любая клавиша -

продолжение, ESC - отмена". Теперь нажмите любую клавишу, для продолжения вы-

вода информации помощи. Продолжайте нажимать клавишу до повторного появления

стимула (:).

Прокрутите информацию помощи назад, нажав

SHIFT стрелка вниз

Выведенная ранее информация может прокручиваться в окне команд при помощи

клавиш shift вверх, shift вниз, page up и page down. Попробуйте разные

клавиши для перемещения по информации помощи.

Средство помощи Soft-ICE дает вам краткий обзор каждой команды. Если

вы введете знак вопроса (?) сопровождаемый названием команды, вы увидите

экран, показывающий синтаксис команды, краткое описание команды

и пример.

Попробуйте поэкспериментировать с помощью, вводя команды в

следующем формате:

? команда

Например,

? ALTKEY

Если вы запутались, обратите внимание на сообщения в строке состояния в нижней

части экрана.

Команда помощи также позволяет вам вычислять шестнадцатеричные выражения.

Например, введите:

? 10*2+42

Результирующий экран показывает вам значение выражения, сначала в

шестнадцатеричном, потом десятичном, а потом в

ASCII - представлении:

0"b"

Мы вызвали окно комбинацией клавиш CTRL D. Некоторых это устраивает, но вы

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

Теперь введем команду, чтобы изменить комбинацию клавиш, требуемую для вызова

окна. Мы сделаем это шаг за шагом, так чтобы вы привыкли к строке состояния

в нижней части окна.

Введите букву "A". Строка состояния покажет список всех

команд, начинающихся с буквы "A". Завершите

ввод слова "ALTKEY". Строка состояния теперь

покажет короткое описание команды ALTKEY

Нажмите "пробел". Строка состояния теперь покажет

требуемый синтаксис для команды ALTKEY. Наберите

буквы "ALT D" потом нажмите ВВОД, чтобы ввести полную

команду:

ALTKEY ALT D

Вы только что изменили комбинацию клавиш для вызова окна на ALT D. С этого

времени вы должны нажать клавиши ALT D, чтобы вызвать окно. Так и оставим

это во всей оставшейся обучающей части.

Теперь давайте проверим предыдущую команду.

Для выхода из окна, введите:

ALT D

Окно Soft-ICE только что исчезло.

Чтобы вернуться в окно Soft-ICE, отпустите клавишу ALT,

а потом нажмите:

ALT D

Окно восстановилось.

Для просмотра предыдущих команд, нажмите:

клавишу стрелка вверх несколько раз.

Имейте в виду, что Soft-ICE помнит команды, которые были введены. Попробуйте

отредактировать одну просто для забавы. Вот некоторые клавиши редактирования:

INS -- переключает режим вставки

DEL -- Удаляет один символ

HOME -- Перемещает курсор в начало строки

END -- Перемещает курсор в конец строки

стрелка вправо -- Перемещает курсор на символ вправо

стрелка влево -- Перемещает курсор на символ влево

Имейте в виду, что когда включен режим вставки, курсор принимает форму блока.

Теперь, когда вы немного знакомы с окружением, давайте, попробуем некоторые

другие команды.

Сотрите команду, которую вы редактировали, нажав

клавишу HOME, потом нажимая клавишу DEL пока

команда не исчезнет.

Введите:

WR

Команда WR делает видимым окно регистров. Окно регистров

показывает содержимое регистров 8086. Заметьте что значения регистров

отражают местоположение, где выполнялся код, когда вы вызвали

Soft-ICE.

Команда WR назначена в файле инициализации Soft-ICE, S-ICE. DAT

на функциональную клавишу F2.

Нажмите клавишу F2 несколько раз, и вы увидите, как

включается/выключается окно регистров. Оставьте окно

регистров видимым.

Увеличьте вертикальный размер окна Soft-ICE, держа

нажатыми ALT и, пока окно не займет весь экран.

Запомните значения регистров CS и IP в окне

регистров, потом введите:

MAP

Команда MAP покажет карту памяти системы. Область текущего указателя

инструкций (CS:IP) будет подсвечена. Если у вас сложная карта памяти,

вам может быть придется несколько раз нажать клавишу, пока вновь не появится

командная строка.

Теперь попробуйте следующую последовательность несколько раз, запоминая

регистры (CS:IP) в окне регистров.

ALT D

Отпустите ALT и D

ALT D

Каждый раз при возвращении в окно Soft-ICE, вы будет замечать что

регистры CS и IP изменились. Когда CS и IP изменились, вы может ввести

команду MAP снова и посмотреть, показывает ли теперь указатель инструкций

на другую область.

Это небольшое упражнение демонстрирует, что Soft-ICE является отладчиком

системного уровня, который всплывает по горячей комбинации клавиш Soft-ICE,

куда бы ни показывал указатель инструкций. Указатель инструкций непрерывно

меняется, потому что выполняется множество команд между вызовами, даже когда

вы - в командной строке DOS, типа прерываний таймера, работы драйверов

устройств DOS, занятости DOS при ожидании других прерываний и т. д.

Нажмите функциональную клавишу F12.

Функциональной клавише F12 по умолчанию назначена команда VER.

Она выводит сообщение об авторских правах на Soft-ICE и номер версии.

Теперь мы назначим функциональной клавише F12 команду RS.

Введите:

RS

Она временно покажет экран программы без окна Soft-ICE.

Нажмите "пробел", чтобы вернуться в окно

Soft-ICE.

Введите:

FKEY F12 RS;

Это назначает команду RS на клавишу F12. Точка с запятой заменяет

клавишу ВВОД.

Нажмите клавишу F12.

Повторите это несколько раз для переключения между окном Soft-ICE и

экраном программы. Теперь удостоверьтесь, что выведено окно Soft-ICE,

при необходимости, нажав клавишу F12. Вы заметите, что RS выведен в окне

несколько раз. Одно появление на экране команды RS соответствует одному

нажатию клавиши F12, чтобы показать экран программы.

Очистите окно Soft-ICE, введя:

CLS

Введите:

FKEY F12 ^RS;

символ (^) - shift + 6. Это назначит команду RS клавише F12,

но сделает эту команду невидимой.

Нажмите клавишу F12 несколько раз. Заметьте что команда

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6