Руководство по Soft-ICE(DOS) — 2
{codecitation class=»brush: pascal; gutter: false;» width=»600px»}жка / Donate
Благодарю за поддержку!
Новости сайта
Новости форума
Архив исходников
Automatic translation
[ Вернуться на главную страницу сайта «Delphi Sources» ]
Delphi FAQ — Часто задаваемые вопросы
| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |
Материалы предоставлены сайтом Delphi World
Введите условия поиска Отправить форму поиска
Web www.delphisources.ru
Руководство по Soft-ICE (DOS) — 2
— Сколько инженеров по программному обеспечению из компании «Майкрософт» нужно для того, чтобы выкрутить перегоревшую лампочку и закрутить новую?
— Нисколько. Они просто определят темноту как индустриальный стандарт.
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;)
{/codecitation}