Delphi World - Руководство по Soft-ICE (DOS) - 2
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Руководство по Soft-ICE (DOS) - 2
Автор: Сергей Середа
WEB-сайт: http://consumer.nm.ru

- Сколько инженеров по программному обеспечению из компании "Майкрософт" нужно для того, чтобы выкрутить перегоревшую лампочку и закрутить новую?
- Нисколько. Они просто определят темноту как индустриальный стандарт.

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:0100 -- параметр типа 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;)

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования