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

- А вы купили бы презерватив с эмблемой MicroSoft?
- Я - нет.
- Почему?
- Да сами задумайтесь - мало того, что MICRO да к тому же еще и SOFT!

Синтаксис:


TRACE [начало] | [OFF]

начало -- Смещение (в инструкциях) от конца буфера (последней зафиксированной команды) с которого надо начать эмуляцию.
OFF -- Выход из режима эмуляции трассировки.

Комментарии:

Команда TRACE позволяет вам повторно "проигрывать" команды из буфера истории обратной трассировки команд, так же как они выполнялись в первый раз. Для использования режима эмуляции трассировки вам необходимо иметь видимое окно кода. После входа в режим эмуляции трассировки используйте команды XT, XP и XG для трассировки команд из буфера.

Для выхода из режима эмуляции трассировки введите TRACE OFF.

TRACE без параметров сообщает включен режим эмуляции трассировки или нет.

Обратите внимание:

До вызова команды TRACE, команды должны регистрироваться при помощи диапазона обратной трассировки. См. главу 9 для подробной информации о диапазонах.

Подсказки:

Режим эмуляции трассировки наиболее полезен, когда видимо окно кода. Часто полезно использовать TRACE вместе с командой SHOW. Это позволяет просматривать инструкции в буфере истории обратной трассировки одновременно в двух различных формах.

Пример:


TRACE 40

Этот пример производит эмуляцию трассировки, начиная с 40-ой инструкции от последней зарегистрированной команды. Режим эмуляции трассировки будет активен, пока не будет введено TRACE OFF.

XT

XT -- Одиночный шаг в режиме эмуляции трассировки

Синтаксис:


XT [R]

R -- Одиночный шаг в обратном направлении.

Комментарии:

Команда XT пошагово проходит буфер истории обратной трассировки инструкций. Эта команда действует подобно команде T для нормальной отладки. Заметьте что в режиме эмуляции трассировки регистры не изменяются, за исключением CS и IP.

Команда XT позволяет вам повторно выполнять команды из буфера истории обратной трассировки.

Обратите внимание:

Для использования XT вы должны быть в режиме эмуляции трассировки. См. главу 9 и команду TRACE из этого раздела для подробной информации о диапазонах обратной трассировки.

Подсказка:

Если вы используете XT часто, то подобно любой другой команде Soft-ICE она может быть привязана к функциональной клавише.

Пример:


XT

Эта команда проходит одну команду в режиме эмуляции трассировки.

XP

XP -- Программный шаг в режиме эмуляции трассировки

Синтаксис:


XP

Комментарии:

Команда XP производит логический программный шаг в буфере истории обратной трассировки инструкций. Эта команда действует подобно команде P для обычной отладки. Заметьте, что в режиме эмуляции трассировки регистры не изменяются, за исключением CS и IP.

Команда XP позволяет вам повторно выполнять команды из буфера истории обратной трассировки.

Обратите внимание:

Для использования XP вы должны быть в режиме эмуляции трассировки. См. главу 9 и команду TRACE из этого раздела для подробной информации о диапазонах обратной трассировки.

Подсказка:

Если вы используете XP часто, то подобно любой другой команде Soft-ICE она может быть привязана к функциональной клавише.

Пример:


XP

Эта команда выполняет один программный шаг в режиме эмуляции трассировки.

XG

XG -- Переход по адресу в режиме эмуляции трассировки

Синтаксис:


X [R] адрес

R -- Поиск адреса в обратном направлении.
адрес -- Адрес, по которому надо перейти в буфере истории обратной трассировки.

Комментарии:

Команда XG перемещает указатель команд на следующее упоминание указанного адреса в буфере истории обратной трассировки. Если перед адресом указан R, то указатель команды перемещается на предыдущее упоминание указанного адреса в буфере обратной трассировки.

Адрес должен указывать на первый байт опкода команды.

XG аналогична команде G при нормальной отладке.

Обратите внимание:

Для использования XG вы должны быть в режиме эмуляции трассировки. См. главу 9 и команду TRACE из этого раздела для подробной информации о диапазонах обратной трассировки.

Пример:


XG 273:1030

Эта команда перемещает указатель команд на следующее упоминание команды по адресу 273:1030.

XRSET

XRSET -- Сброс буфера истории обратной трассировки

Синтаксис:


XRSET

Комментарии:

Команда XRSET сбрасывает буфер истории обратной трассировки. Эта команда должна выполняться перед установкой диапазона обратной трассировки, если в буфере обратной трассировки имеется нежелательная информация о командах.

Пример:


XRSET

Эта команда сбрасывает буфер обратной трассировки.

VECS

VECS -- Сохранение/восстановление/сравнение векторов прерываний

Синтаксис:


VECS [C|S|R]

C -- Сравнить текущую таблицу с сохраненной таблицей
S -- Сохранить текущую таблицу прерываний в буфере
R -- Восстановить таблицу прерываний из буфера

Комментарии:

Команда VECS позволяет вам сохранять и восстанавливать таблицу прерываний из внутреннего буфера Soft-ICE. Также фактическая таблица может сравниваться с сохраненной таблица с отображением различий.

Когда используется опция C, для сравнения текущей таблицы векторов прерываний с сохраненной копией, вывод производится в следующем формате:

адрес старый-вектор новый-вектор

Отображаются все измененные векторы.

Таблица векторов прерываний первоначально сохраняется, при загрузке Soft-ICE. Это Она также автоматически сохраняется при загрузке программы LDR'ом. Хранится только одна копия таблицы векторов прерываний, т.о. при каждом выполнении VECS S, предыдущая копия таблицы прерываний перезаписывается.

Если параметры не указаны, на экран выводится вся таблица векторов прерываний.

Пример:


VECS C

Эта команда сравнивает фактическую таблицу векторов прерываний с предварительно сохраненной во внутреннем буфере векторов Soft-ICE.

SNAP

SNAP -- Запоминает содержимое блока памяти (snap shot)

Синтаксис:


SNAP [C|S|R] адрес1 адрес2

C -- Сравнить буфер с адресным интервалом
S -- Сохранить адресный интервал в буфере
R -- Восстановить адресный интервал из буфера

Комментарии:

Команда SNAP запоминает содержимое блока памяти для последующего сравнения. Опция S копирует блок памяти в буфер в дополнительной памяти (XMS). Опция C отображает различия между буфером в дополнительной памяти и фактической памятью, определенной адресным интервалом. Опция R копирует буфер в дополнительной памяти в адресный интервал в стандартной памяти.

Когда используется опция C, для сравнения буфера с адресным интервалом, вывод производится в следующем формате:

адрес старые-данные новые-данные

Отображаются все измененные байты.

Обычно для опций C и R адрес необязателен. Если адрес не указан, используется адрес, который был указан в последний раз при использовании команды SNAP.

Примечания:

Для использования команды SNAP вы должны указать переключатель /TRA XXXX в строке S-ICE.EXE в CONFIG.SYS.

Команда SNAP сохраняет данные в буфере истории обратной трассировки. Если вы используете обратную трассировку, у вас будет конфликт со SNAP. В силу своей специфики, SNAP перезапишет информацию обратной трассировки, если вы выполните SNAP S, когда история команд находится в буфере обратной трассировки. Наоборот, если вы сохранили область при помощи SNAP, активация диапазона обратной трассировки перезапишет буфер SNAP.

Пример:


SNAP S 2000:0 4000:0

Эта команда сохраняет блок данных с 2000:0 по 4000:0 в буфере обратной трассировки Soft-ICE.

EMMMAP

EMMMAP -- Отображают карту распределения EMM

Синтаксис:

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.