Руководство по Soft-ICE (DOS) - 18
|
- Сколько нужно программистов, чтобы ввернуть лампочку?
- Ни одного: это аппаратная проблема, а они этим не занимаются!
|
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.
Есть три категории команд, которые могут быть включены в файл
инициализации 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. Используйте этот переключатель если у
вас один из таких видеоадаптеров. Заметьте, что
опция 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:
Это назначит команду 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
Пример файла инициализации включен в содержимое дистрибутивной
дискеты. Этот пример назначает функциональные клавиши так, что
они используются в той же манере, как и функциональные клавиши в отладчике
Microsoft CodeView. Этот пример S-ICE.DAT также должен использоваться "как
есть" для обучающей части в главе 3.
ГЛАВА 7
Отладка на Уровне Символов и Исходного Текста
7.1 Введение
7.2 Подготовка к Отладке на Уровне Символов или Исходного Текста
7.2.1 Подготовка к Отладке Только на Уровне Символов
7.2.2 Подготовка к Отладке на Уровне Символов и Исходного Текста
7.3 Резервирование Памяти для Символов и Исходного Текста
7.4 Загрузка Программ и Файлов с Символами
7.5 Символьная Отладка
7.6 Отладка по Исходному Тексту
7.1 Введение
Soft-ICE может загружать программы, таблицы символов и исходные тексты для
расширенной отладки. Символьная отладка позволяет устанавливать точки останова
и ссылаться на переменные по символьным именам, не указывая числовые адреса.
Отладка по исходному тексту позволяет вам проходить через вашу программу на
уровне исходного текста, а не на уровне машинного кода.
Информация о символах и строках исходного текста извлекается из файла с картой
связей. Карта связей должна быть совместима с Microsoft linker версии 3.60
или выше.
Символы и исходные файлы расположены в расширенной памяти. У вас должно быть
достаточно памяти для символов и исходных файлов. Исходные файлы не читаются
с диска, как во многих отладчиках. Это позволяет Soft-ICE обеспечить полную
системную отладку на уровне исходного текста. Вы можете отлаживать резидентные
обработчики прерываний и другой системный код на уровне исходного текста.
Заметьте:
Вы не можете использовать символьную или отладку по исходному тексту, пока
Soft-ICE не загружен как драйвер устройства в CONFIG.SYS.
7.2 Подготовка к Отладке на Уровне Символов или Исходного Текста
До отладки программы с символами или исходным текстом вы должны создать файл
символов. Это - двоичный файл, содержащий информацию о символах и номерах
строк в формате, который Soft-ICE понимает. Этот файл создается при помощи
утилиты MSYM.EXE. MSYM.EXE читает вашу карту связей, чтобы создать файл
символов с расширением (.SYM).
7.2.1 Подготовка к Отладке Только на Уровне Символов
Для подготовки программы только к символьной отладке, вы должны выполнить
следующие шаги:
1. Скомпилировать или оттранслировать вашу программу.
2. Слинковать вашу программу с надлежащими переключателями, чтобы создать
.MAP-файл, который содержит список публичных символов.
Если вы используете Microsoft linker, необходимо
использовать переключатель /MA. Этот .MAP-файл должен
быть идентичен .MAP-файлу, созданному Microsoft
linker, версии 3.60 или выше.
3. Создать .SYM-файл, запустив MSYM.EXE.
Вот синтаксис для использования MSYM.EXE:
MSYM название-программы [.расширение]
Если расширение не указано, MSYM принимает
расширение .MAP. MSYM читает файл-карту как вход
и выдает файл символов как выход. Символьный файл
имеет название название-программы.SYM.
Заметьте:
До компилирования или трансляции вашей программы вы можете захотеть сделать
публичными некоторые дополнительные символы. При символьной отладке Soft-ICE
поддерживает только публичные символы. Методы объявления переменных или меток
публичными варьируют в зависимости от того, какой язык вы используете.
На языке ассемблера 8086, укажите директиву PUBLIC, сопровождаемую локально
определенными символами, которые вы хотите сделать публичными. Например:
PUBLIC FOO, LOOP1, STATUS
|
На языке C, все названия процедур и статические переменные, определенные
вне блока, являются публичными.
Для других языков, обратитесь к вашему руководству по языку для подробностей.
7.2.2 Подготовка к Отладке на Уровне Символов и Исходного Текста
Для подготовки программы к символьной и отладке по тексту, вы должны выполнить
следующие шаги:
1. Скомпилировать или оттранслировать все модули, которые вы хотите
отлаживать по исходному тексту с соответствующими
переключателями, чтобы поместить информацию о номерах строк в
объектные файлы. С языками Microsoft вы можете использовать
либо переключатель /Zi либо /Zd. Вы можете не хотеть,
проделывать это со всеми файлами, потому что объединенные
размеры файла символов и всех исходных файлов,
скомпилированных с этими переключателями, должны вписаться
в объем расширенной памяти, который вы зарезервировали при
помощи переключателя загрузки /SYM в CONFIG.SYS.
2. Слинковать вашу программу с надлежащими переключателями,
чтобы создать .MAP-файл, который содержит номера строк
исходного текста и список публичных символов. Если вы
используете Microsoft linker, необходимо использовать
переключатели /LI и /MA. Этот .MAP-файл должен
быть идентичен .MAP-файлу, созданному Microsoft
linker, версии 3.60 или выше.
3. Создать .SYM-файл, запустив MSYM.EXE.
Вот синтаксис для использования MSYM.EXE:
MSYM название-программы [.расширение]
Если расширение не указано, MSYM принимает
расширение .MAP. MSYM читает файл-карту как вход
и выдает файл символов как выход. Символьный файл
имеет название название-программы.SYM.
7.3 Резервирование Памяти для Символов и Исходного Текста
До загрузки программ, символьных и исходных файлов вы должны зарезервировать
расширенную память. Расширенная память резервируется, при загрузке Soft-ICE в
CONFIG.SYS. До резервирования расширенной памяти вы можете захотеть сложить
размеры .SYM-файла и всех исходных файлов, которые вы хотите загрузить. Вы
должны зарезервировать, по крайней мере, столько расширенной памяти. Вы должны
использовать переключатель /SYM при загрузке S-ICE.EXE. Вот пример строки
в CONFIG.SYS для загрузки Soft-ICE и резервирования места для символов и
исходных файлов:
DEVICE = S-ICE.EXE /SYM 1024
|
Этот пример загружает Soft-ICE в расширенную память и резервирует 1 мегабайт
памяти для символов и исходных файлов. См. часть 6.3 (Загрузка Soft-ICE
как Загружаемого Драйвера Устройства) для деталей о резервировании памяти.
7.4 Загрузка Программ и Файлов с Символами
Утилита Soft-ICE, LDR.EXE используется для загрузки программ, файлов символов
и исходных файлов. Для символьной отладки прикладных программ и T&SR-программ
вы обычно будете использовать LDR.EXE, чтобы загрузить программу, символы и
исходные файлы за один шаг. Для отладки загружаемых драйверов устройства, ПЗУ
и других системных компонент вы обычно будете использовать LDR.EXE, чтобы
загрузить только файл символов и исходные файлы.
Вот синтаксис для LDR.EXE:
|