ГЛАВА 10
Использование Soft-ICE с MagicCV или MagicCVW
10.1 Введение
10.2 Запуск Soft-ICE с MagicCV или MagicCVW
10.3 Специальные Соображения
10.4 Команда Soft-ICE ACTION
203
10.1 Введение
MagicCV позволяет вам выполнять Microsoft CodeView в менее чем 8КБ
стандартной памяти на вашей ЭВМ 80386.
MagicCVW позволяет вам выполнять Microsoft CodeView для Windows в менее
чем 8КБ стандартной памяти на вашей ЭВМ 80386.
Использование Soft-ICE в комбинации с MagicCV или MagicCVW позволяет вам иметь
мощность Soft-ICE при удобстве использования знакомого вам продукта CodeView.
В оставшейся части этой главы, высказывания о MCV будут применимы как
к MagicCV, так и к MagicCVW, и высказывания о CV будут применимы как
к CodeView, так и к CodeView для Windows.
10.2 Запуск Soft-ICE с MagicCV или MagicCVW
Чтобы использовать Soft-ICE 2.0 и MCV вместе, вы должны установить S-ICE.EXE
как загружаемый драйвер устройства. S-ICE.EXE поступает на дискете Soft-ICE.
S-ICE.EXE заменяет NUMEGA.SYS в CONFIG.SYS. Используйте переключатели /MCV,
/EMM и /EXT как при использовании только MagicCV или MagicCVW. Есть добавочные
переключатели, которые вы можете захотеть использовать с Soft-ICE. Обратитесь
к главе 6 для информации относительно этих переключателей.
Чтобы запустить MagicCV или MagicCVW, после того как Soft-ICE загружен,
обратитесь к вашему руководству по MagicCV или MagicCVW.
Примечания:
MagicCVW требует Soft-ICE версии 2.00 или выше.
MagicCV требует Soft-ICE версии 1.02 или выше. Драйверы S-ICE.SYS и
NUMEGA.SYS отправлялись с некоторыми версиями Soft-ICE. Драйверы
S-ICE и NUMEGA
204
должны быть заменены S-ICE.EXE до того, как вы сможете запустить MagicCV
и Soft-ICE 2.0 вместе.
10.3 Специальные Соображения
Две Виртуальные Машины
Когда вы используете вместе Soft-ICE и MCV, вы должны иметь в виду, что CV
находится в отдельной виртуальной машине от целевого окружения. Вы можете
вызвать Soft-ICE из любой виртуальной машины, т.е., когда выполняется CV
или когда выполняется целевая программа.
Если вы вызываете Soft-ICE, когда выполняется целевая программа, все работает
как определено в руководстве по Soft-ICE. Если вы вызываете Soft-ICE когда
выполняется CV (обычно при выполнении останова), вы должны иметь в виду
несколько моментов:
* Регистры являются регистрами CV и НЕ МОГУТ
быть изменены.
* Для удобства, команда Soft-ICE, MAP
отображает карту памяти виртуальной машины
целевой программы, а не карту памяти виртуальной
машины CV. Высвеченная область в карте памяти
может быть неправильна.
* Любой вывод или модификация памяти происходит в
виртуальной машине целевой программы.
* У вас нет никакой видимости в виртуальной машине CV
кроме вывода значений регистров.
Не забудьте, что при вызове окна Soft-ICE,
когда активен CV, значения регистров являются
значениями регистров CV и не должны изменяться.
* Когда активен CV, в окне Soft-ICE отключается покомандная и
программная трассировка. Это - чтобы
предотвратить беспорядок, потому что фактически
трассироваться будет CV, а не целевая программа.
205
Если вы попытаетесь выполнить команду Soft-ICE
Шаг (T) или Программный Шаг (P) когда активен CV,
вы получите предупреждающее сообщение: "Функция
не доступна в виртуальной машине CV". Чтобы
вместо этого трассировать код целевой программы, вы
можете выполнить одну из двух операций:
* Использовать команду трассировки CV. Для этого выйдите
из окна Soft-ICE, используя команду Soft-ICE X,
затем сделайте один или более шагов CV, чтобы
пройти через целевую программу.
* Использовать Soft-ICE, чтобы пройти до адреса
целевой программы, затем использовать команды
Soft-ICE T или P чтобы пройти через вашу целевую
программу. Для этого выйдите из окна Soft-ICE
командой Soft-ICE X, затем нажимайте клавишу
'F3' пока CV не перейдет в "смешанный режим". Это
позволит вам видеть как исходные строки, так и
адреса команд. Вызовите Soft-ICE. Если
окно Soft-ICE - еще не в узком режиме,
используйте команду Soft-ICE WIN, чтобы
изменить размер окна. Переместите окно Soft-ICE
так, чтобы вы могли видеть адреса команд
в левой стороне экрана. Теперь вы
можете использовать команду Soft-ICE G, чтобы
перейти на один из адресов. Обязательно введите полный адрес,
включая сегмент и смещение.
Затем введите 'G' в окне CV. С этого момента,
CV не активен, так что вы можете использовать
команды Soft-ICE T или P для прохода через
целевую программу.
Команда CodeView SHELL
Если вы выполняете временный выход в DOS из виртуальной машины CodeView,
оболочка DOS - часть виртуальной машины. Из-за этого вы не должны запускать
TSR'ы, когда вы находитесь в оболочке DOS. Если вы это сделаете, когда вы
выйдете из CodeView, TSR исчезнет вместе с виртуальной машиной. Это -
206
опасно, потому что любой невосстановленный вектор прерывания
может вызвать зависание вашей ЭВМ.
Переключатель CV /R
Soft-ICE пользуется преимуществами многих возможностей 80386, включающих
регистры отладки 80386. Это значит, что регистры отладки не доступны для CV,
так что вы не можете использовать переключатель CV /R при запуске с Soft-ICE.
Если вы используете переключатель /R, Soft-ICE выдаст вам общую ошибку защиты.
В этот момент вы можете нажать 'C', чтобы продолжить, затем повторно запустить
CV без переключателя /R и использовать точки останова Soft-ICE.
Переключатель CV /R работает, когда вы выполняете MCV без Soft-ICE.
10.4 Команда Soft-ICE ACTION
Команда ACTION предоставляет три различных метода активизации CV из точки
останова Soft-ICE. Лучший выбор действия - ACTION NMI. Если вы испытываете
проблемы с ACTION, установленным в NMI ( обычно потому что плата адаптера в
вашей системе использует NMI ), используйте ACTION INT1.
~~\ Перевел Сергей Середа, 1998, Кишинев 24-71-96, /~~
~~\ e-mail: serge_sereda@hotmail.com /~~
[ ВЕРНУТЬСЯ К ОГЛАВЛЕНИЮ ]
|