Руководство по Soft-ICE(DOS) — 17
{codecitation class=»brush: pascal; gutter: false;» width=»600px»}ка / Donate
Благодарю за поддержку!
Новости сайта
Новости форума
Архив исходников
Automatic translation
[ Вернуться на главную страницу сайта «Delphi Sources» ]
Delphi FAQ — Часто задаваемые вопросы
| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |
Материалы предоставлены сайтом Delphi World
Введите условия поиска Отправить форму поиска
Web www.delphisources.ru
Руководство по Soft-ICE (DOS) — 17
— Вы кем работаете?
— Я фармацевт.
— А, значит в аптеке работаете.
— Нет, диск С форматирую.
Функциональная клавиша по умолчанию: F3
FILE
FILE — Изменить/вывести текущий исходный текст
Синтаксис:
FILE [имя файла]
Комментарии:
Если имя файла указано, этот файл становится текущим файлом и начало файла выводится в окне кода. Если имя не указано, выводится имя текущего файла (если он есть) с исходным текстом.
Команда FILE часто полезна при установке точки останова в строке, которая не ассоциирована ни с одним публичным символом. Используйте FILE, для вызова желаемого файла в окно кода, используйте команду SS для поиска определенной строки, переместите в нее курсор и введите BPX для установки точки останова.
Обратите внимание:
Для команды FILE доступны только файлы с исходным текстом, загруженные в дополнительную память (XMS) программой LDR.EXE.
Пример:
FILE MAIN.C
Если MAIN.C был загружен LDR.EXE, эта команда выводит его в окно кода, начиная со строки 1.
SS
SS — Найти строку в текущем файле с исходным текстом
Синтаксис:
SS [номер-строки] [‘строка’]
номер-строки — десятичное число
строка — символьная строка, заключенная в кавычки. Кавычки могут быть как одиночными так и двойными.
Комментарии:
Команда SS ищет в текущем файле с исходным текстом указанную символьную подстроку. Если имеется соответствие, строка, в которой была найдена подстрока будет выведена как верхняя строка в окне кода.
Поиск начинается с указанного номера строки. Если номер строки не указан, поиск начинается с верхней строки, отображаемой в окне кода.
Если параметры не указаны, продолжается поиск предыдущей указанной строки.
Обратите внимание:
Окно кода должно быть видимо и быть в режиме исходного текста до использования команды SS.
Пример:
SS 1 ‘if (i = = 3)’
В текущем файле с исходным текстом ищется, начиная со строки 1, подстрока ‘if (i = = 3)’. Строка, содержащая следующее совпадение с подстрокой, становится верхней отображаемой строкой в окне кода.
РАЗДЕЛ III — Поддерживаемые Возможности
ГЛАВА 6
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.
Чтобы загрузить 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.
* Отладка на уровне символов и исходного текста. Загрузка как драйвера устройства позволяет 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,…). Если переключатель
/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 килобайт расширенной памяти в отображаемую память, соответствующую 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. Память не будет резервироваться для оставшихся переключателей.
Заметьте:
Если присутствует переключатель /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 (мегабайтовая отметка).
{/codecitation}