РАЗДЕЛ III -- Поддерживаемые Возможности
ГЛАВА 6
Опции Инициализации Soft-ICE
6.1 Введение
6.2 Загрузка из Командной Строки DOS
6.3 Загрузка Soft-ICE как Загружаемого Драйвера Устройства
6.3.1 Переключатели Загрузки Soft-ICE
6.4 Файл Инициализации Soft-ICE, S-ICE.DAT
6.4.1 Опции Конфигурации
6.4.2 Назначения Функциональных Клавиш
6.4.3 Последовательность Команд Инициализации
165
6.1 Введение
Программный файл Soft-ICE (S-ICE.EXE) может быть загружен как загружаемый
драйвер устройства в CONFIG.SYS или как программа из командной строки DOS. Для
получения всей силы Soft-ICE, он должен быть загружен как драйвер устройства в
CONFIG.SYS. Однако, могут иметься обстоятельства, когда вы можете захотеть
запустить Soft-ICE из командной строки DOS или пакетного файла, типа:
* У вас нет расширенной памяти в вашей системе.
Soft-ICE можно загрузить как загружаемый драйвер устройства,
только если у вас есть расширенная память.
* Вы хотите занять НОЛЬ байт обычной
памяти. При загрузке как драйвер устройства,
Soft-ICE занимает приблизительно 2КБ
обычной памяти.
* Вам только иногда необходимо использовать Soft-ICE и
нет никаких других программ, использующих расширенную
память.
В некоторых случаях вам могут быть нужны некоторые возможности, требующие
загрузки Soft-ICE из CONFIG.SYS, но не нужно, чтобы Soft-ICE был постоянно
резидентным. В этом случае Soft-ICE может быть загружен из CONFIG.SYS, чтобы
зарезервировать расширенную память, и потом отключен переключателем /UN, пока
не потребуется Soft-ICE. См. часть 6.3.1 для большей информации относительно
переключателя /UN.
6.2 Загрузка из командной строки DOS
Вы НЕ можете активизировать все возможности Soft-ICE при загрузке из командной
строки DOS. Если вы будете использовать Soft-ICE как автономный отладчик,
рекомендуется загружать Soft-ICE из файла CONFIG.SYS.
166
Чтобы загрузить Soft-ICE из командной строки DOS, введите
S-ICE
В системах без расширенной памяти, Soft-ICE загружается в
самые высокие возможные адреса памяти. Тогда память, используемая Soft-ICE
"отрезается", становясь невидимой для программ DOS. Так как общая память,
видимая для DOS и ее программ, уменьшается после загрузки Soft-ICE,
рекомендуется загружать Soft-ICE до загрузки любых TSR-программ.
В системах с расширенной памятью вы можете загружать Soft-ICE из командной
строки DOS, только если вы не используете расширенную память для чего-либо еще
(напр. VDISK, CACHE, HIMEM...). Когда вы загружаете Soft-ICE из командной
строки или из пакетного файла, Soft-ICE предупредит вас, выдав специальное
сообщение. Это предупреждение только напоминает вам, что Soft-ICE перезапишет
старшую область расширенной памяти, когда загрузится. Вы можете
подавить это предупреждающее сообщение при помощи опции EXTENDED в файле
конфигурации Soft-ICE. Для большей информации относительно опции EXTENDED,
см. часть 6.4.1.
6.3 Загрузка Soft-ICE как Загружаемого Драйвера Устройства
Чтобы использовать все возможности Soft-ICE, вы должны загрузить Soft-ICE как
загружаемый драйвер устройства в вашем файле CONFIG.SYS. При этом становятся
доступными следующие возможности:
* Сосуществование с другим программным обеспечением, использующим
расширенную память.
Загрузка как драйвера устройства позволяет Soft-ICE
управлять расширенной памятью, так что вы можете запускать Soft-ICE
с программами, использующими расширенную память, такими как
VDISK, CACHE и HIMEM.
167
* Отладка на уровне символов и исходного текста.
Загрузка как драйвера устройства позволяет Soft-ICE
разместить в расширенный памяти буфер для информации
о символах и исходном тексте.
* Диапазоны обратной трассировки и команда SNAP.
Загрузка как драйвера устройства позволяет Soft-ICE
разместить в расширенный памяти буфер для информации
обратной трассировки. Этот буфер также используется для
команды Soft-ICE, SNAP.
* Активизация возможностей Soft-ICE по EMM 4.0
* Запуск Soft-ICE с MagicCV или MagicCVW
Заметьте:
Загруженный, как драйвер устройства в CONFIG.SYS, Soft-ICE резервирует старшую
область расширенной памяти для себя и связанных с ним компонент, следовательно
не может возникнуть конфликтов памяти. S-ICE.EXE должен быть загружен в
CONFIG.SYS до любого другого драйвера, резервирующего расширенную память при
загрузке (напр. VDISK.SYS, RAMDRIVE.SYS). Вообще Soft-ICE работает наилучшим
образом, если он - первый загружаемый драйвер устройства в CONFIG.SYS.
6.3.1 Переключатели Загрузки Soft-ICE
После S-ICE.EXE в CONFIG.SYS может быть указан один или более переключателей
загрузки. Эти переключатели позволяют вам указывать, как Soft-ICE будет
резервировать расширенную память. Все переключатели должны начинаться
символом / . Есть следующие переключатели загрузки:
* /EXT XXXX -- Сообщает S-ICE.EXE зарезервировать
XXXX килобайт расширенной памяти для других
программ DOS, использующих расширенную память (напр.
VDISK, CACHE, HIMEM,...). Если переключатель
168
/EXT не указан, то расширенная память, не используемая Soft-ICE и связанными
с ним компонентами будет оставлена, как стандартная расширенная память, но ее
количество нельзя гарантировать. Переключатель /EXT полезен, потому что
иногда трудно точно определить, сколько памяти используется Soft-ICE и
связанными с ним компонентами. Использование переключателя /EXT будет
гарантировать, что указанное количество будет доступно для других программ,
использующих расширенную память.
* /SYM XXXX -- Сообщает S-ICE.EXE зарезервировать
XXXX килобайт расширенной памяти для символов
и исходного текста. Если XXXX не указано, то
вся остающаяся расширенная память используется для
символов. Должно быть зарезервировано достаточно памяти для
вашего файла .SYM и всех исходных текстов. Для большей
информации об использовании символов и исходного текста, см.
главу 7.
* /TRA XXXX -- Сообщает S-ICE.EXE зарезервировать
XXXX килобайт расширенной памяти для буфера истории
обратной трассировки. Этот буфер используется для диапазонов
обратной трассировки и для команды SNAP. Если
XXXX не указано, то для буфера автоматически
резервируется 10КБ расширенной памяти. Если
вы вообще не хотите резервировать память для буфера
обратной трассировки, используйте /TRA 0. Для большей информации
об использовании диапазонов обратной трассировки, см. главу 9.
* /MCV XXX -- Сообщает S-ICE.EXE зарезервировать
XXX килобайт расширенной памяти для MagicCV
или MagicCVW. Минимальный объем расширенной
памяти, который вы можете указать - 280КБ и максимум -
620КБ. Если XXX не указано, S-ICE.EXE
зарезервирует остающуюся память, между 280КБ и
620КБ. См. главу 10 для большей информации относительно
работы Soft-ICE с MagicCV или MagicCVW.
* /EMM XXXX -- Сообщает S-ICE.EXE преобразовать
XXXX килобайт расширенной памяти в отображаемую
169
память, соответствующую EMM 4.0. Если указано
XXXX, то вся остающаяся память используется как
отображаемая. См. главу 8 для большей информации
Относительно поддержки отображаемой памяти.
* /UN -- Сообщает S-ICE.EXE перейти в защищенный
режим, зарезервировать необходимую расширенную память, затем
выйти из защищенного режима и выгрузиться. Этот переключатель
должен использоваться, когда вы загружаете S-ICE.EXE
как загружаемый драйвер устройства, но не хотите,
чтобы ваша система оставалась в защищенном режиме. Этот
переключатель зарезервирует память для Soft-ICE, и вы
должны выполнить S-ICE.EXE из командной строки DOS,
когда вы будете готовы использовать Soft-ICE.
Soft-ICE резервирует расширенную память в следующем порядке, независимо от
порядка указанных переключателей:
Резервируется приблизительно 120КБ для S-ICE.EXE.
Резервируется память для переключателя /EXT, если он указан.
Резервируется память для переключателя /SYM, если он указан.
Резервируется память для переключателя /TRA, если он указан.
Если он не указан, по умолчанию резервируется 10КБ для
буфера обратной трассировки.
Резервируется память для переключателя /MCV, если он указан.
Резервируется память для переключателя /EMM, если он указан.
Если при попытке зарезервировать память для переключателя в вышеупомянутой
последовательности, доступной памяти не хватает, S-ICE.EXE делает следующее:
1. Остающаяся расширенная память резервируется для
переключателя, обрабатываемого, когда не хватило памяти.
2. Память не будет резервироваться для оставшихся
переключателей.
170
Заметьте:
Если присутствует переключатель /MCV или /EMM, резервируются дополнительные
64КБ расширенной памяти для буфера поддержки DMA.
Переключатели могут быть указаны в любом порядке после DEVICE = S-ICE.EXE.
Пример:
DEVICE = S-ICE.EXE /TRA50 /EMM 500 /SYM 2048
Если доступны четыре мегабайта расширенной памяти, этот пример зарезервирует
приблизительно 120КБ для Soft-ICE, 2 мегабайта для символов, 50КБ для буфера
истории обратной трассировки, 500КБ для отображаемой памяти и оставит
приблизительно 1,3 мегабайта для других программ расширенной памяти. Заметьте,
что Soft-ICE загрузится в самую высокую область расширенной памяти, оставив
оставшуюся память, начиная с 100000H (мегабайтовая отметка).
6.4 Файл Инициализации Soft-ICE, S-ICE.DAT
У Soft-ICE есть несколько опций загрузки. Эти опции указываются размещением
специальных команд в файле инициализации, называющемся S-ICE.DAT.
S-ICE.DAT - текстовый ASCII-файл, который Soft-ICE читает при загрузке. Этот
файл может содержать назначения функциональных клавиш, строку автостарта и
различные опции конфигурации. Файл может быть создан и отредактирован любым
текстовым редактором DOS. При загрузке Soft-ICE из командной строки, S-ICE.DAT
должен находиться в текущем каталоге или в каталоге, доступном через вашу
текущую переменную PATH. Когда Soft-ICE загружается как драйвер устройства в
CONFIG.SYS, S-ICE.DAT должен быть в том же самом каталоге, где находится
S-ICE.EXE.
171
Есть три категории команд, которые могут быть включены в файл
инициализации S-ICE.DAT:
* Специальные опции конфигурации
* Назначения функциональных клавиш
* Последовательность команд инициализации
6.4.1 Специальные Опции Конфигурации
Любая из следующих опций конфигурации, которые необходимы, должна быть
помещена в отдельную строку в файле S-ICE.DAT.
* COMPAQ -- Компьютер Compaq 386 и 386SX
и некоторые Compaq-совместимые компьютеры
(включая компьютеры, содержащие материнские
платы Micronix) имеющий 384КБ из несмежных участков
расширенной памяти. Опция COMPAQ необходима, если вы
хотите, что бы Soft-ICE использовал эту память.
Заметьте, что опция COMPAQ идентична
параметру командной строки /C в Soft-ICE 1.X.
* NOLEDS -- Опция NOLEDS сообщает Soft-ICE
не устанавливать и не очищать LED-ы клавиатуры, во время
вызова окна Soft-ICE. На некоторых клавиатурах существуют
проблемы с таймером, которые будут вызывать у Soft-ICE
потерю синхронизации с клавиатурой. Если
Soft-ICE зависает, когда вы - в окне Soft-ICE,
используйте эту опцию. Заметьте что опция
NOLEDS идентична параметру командной строки /L
в Soft-ICE 1.X.
* NOTVGA -- Опция NOTVGA позволяет
Soft-ICE работать на BIOS-совместимых VGA-картах.
Много карт VGA не совместимы с IBM
VGA на уровне аппаратных средств. Эти карты поддерживают
VGA только на уровне BIOS. Используйте этот переключатель если у
вас один из таких видеоадаптеров. Заметьте, что
172
опция NOTVGA - то же самое, что и параметр командной
строки /V в Soft-ICE 1.X.
* EXTENDED -- Опция EXTENDED заставляет
Soft-ICE загружаться непосредственно в расширенную память
без предупреждения пользователя при помощи специального
сообщения. Она должна использоваться, если вы загружаете
Soft-ICE из командной строки DOS и не хотите вывода
сообщения и больше ничего не знаете об
использовании расширенной памяти. Заметьте что
опция EXTENDED - тот же самое, что и параметр
командной строки /E в Soft-ICE 1.X.
6.4.2 Назначения Функциональных Клавиш
Во время загрузки любой функциональной клавише может быть назначена одна или
больше команд Soft-ICE. См. описание команды FKEY в части 5.8 (Команды
Настройки Отладчика) для описания назначения функциональных клавиш из
командной строки Soft-ICE.
Синтаксис для назначения названий функциональных клавиш в S-ICE.DAT:
Название-функциональной-клавиши = "строка"
Название-функциональной-клавиши -- F1, F2... F12.
строка -- строка может состоять из любых имеющих силу
в Soft-ICE команд и специальных
символов ^ и ;. ^ помещается в
строку, чтобы сделать команду
невидимой. ; помещается в строку
для обозначения возврата каретки. Строка
должна быть заключена в двойные кавычки.
Вот пример назначения функциональной клавиши в S-ICE.DAT:
F12 = "D 100;"
173
Это назначит команду Soft-ICE, Dump функциональной клавише 12. При нажатии
F12 Soft-ICE будет выводить дамп памяти со смещения 100H в текущем сегменте
данных. Точка с запятой после 100 представляет клавишу ВВОД.
6.4.3 Последовательность Команд Инициализации
При загрузке Soft-ICE может быть автоматически выполнена группа команд.
Это полезно для настройки Soft-ICE под ваши нужды. Например, вы могли бы
установить параметры окон и изменить стандартную комбинацию горячих клавиш.
Синтаксис для введения последовательности команд инициализации в S-ICE.DAT
следующий:
INIT = "строка-назначения"
строка-назначения -- Строка состоит из любых имеющих силу
в Soft-ICE команд и специальных
символов ^ и ;. ^ помещается в
строку, чтобы сделать команду
невидимой. ; помещается в строку
для обозначения возврата каретки. Строка
должна быть заключена в двойные кавычки.
Пример последовательности команд инициализации в S-ICE.DAT:
INIT = "WIN; WR; WD 1; WC 12; ALTKEY CTRL X;"
Этот пример переведет окно Soft-ICE в полноэкранный режим, создаст
окно регистров, создаст окно данных высотой в одну строку, создаст окно кода
высотой 12 строк и изменит комбинацию горячих клавиш на CTRL X.
Пример S-ICE.DAT
Пример файла инициализации включен в содержимое дистрибутивной
дискеты. Этот пример назначает функциональные клавиши так, что
174
они используются в той же манере, как и функциональные клавиши в отладчике
Microsoft CodeView. Этот пример S-ICE.DAT также должен использоваться "как
есть" для обучающей части в главе 3.
~~\ Перевел Сергей Середа, 1998, Кишинев 24-71-96, /~~
~~\ e-mail: serge_sereda@hotmail.com /~~
[ ВЕРНУТЬСЯ К ОГЛАВЛЕНИЮ ]
|