Руководство по Soft-ICE (DOS) - 21Delphi , Программа и Интерфейс , Руководство по Soft-ICEРуководство по Soft-ICE (DOS) - 21
Команда XT пошагово проходит через буфер истории
обратной трассировки. Команда XP производит программные
шаги через буфер истории обратной трассировки.
Команда XG проходит программу до адреса в буфере истории
обратной трассировки.
9. Для сброса буфера истории обратной трассировки, используйте команду X. 9.3 Специальные Примечания В режиме эмуляции трассировки большинство команд Soft-ICE работает как обычно, включая вывод карты памяти и вывод и редактирование данных. Существующие исключения:
1. Информация о регистрах не сохраняется в буфере истории обратной
трассировки, так что значения регистров не изменяются,
когда вы трассируете буфер, кроме значений CS и IP. Когда вы внимательно просматриваете инструкции из буфера истории обратной трассировки командами SHOW и TRACE, вы можете заметить странности в выполнении инструкций. Они вызваны скачками в и вовне указанного диапазона. Они обычно происходят при переходах, вызовах, возвратах и точках входа. Когда у вас проблема с зависанием или другая трудная ошибка, требующая диапазонов обратной трассировки, вы часто можете использовать очень большие диапазоны, чтобы захватить проблемную область. Как только вы получите лучшее представление об указанной проблемной области, вы перейдете к меньшим диапазонам. Большие диапазоны обратной трассировки - очень медленные. Используя большие диапазоны, вы обычно пытаетесь получить общую идею о том, где проблема. У Soft-ICE есть специальный "ГРУБЫЙ" режим для обработки больших диапазонов. Это ускоряет диапазоны в три или больше раз, но ограничивает количество инструкций в буфере истории. Грубый режим собирает только те инструкции, которые производят запись в память в пределах указанного диапазона. При повторном проходе инструкций в режиме эмуляции трассировки после "ГРУБОГО" диапазона вы заметите, что ход происходит скачками вместо последовательного выполнения инструкций. Грубые диапазоны работают лучше всего для больших областей и менее эффективны для маленьких диапазонов. Чтобы активизировать "ГРУБЫЙ" диапазон обратной трассировки, используйте команду BPR с опцией TW вместо опции T. Например:
Для дальнейшей информации о диапазонах обратной трассировки см. описания для команд:
ГЛАВА 10 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 должны быть заменены 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 и НЕ МОГУТ
быть изменены. * Использовать команду трассировки CV. Для этого выйдите из окна Soft-ICE, используя команду Soft-ICE X, затем сделайте один или более шагов CV, чтобы пройти через целевую программу. Команда CodeView SHELL Если вы выполняете временный выход в DOS из виртуальной машины CodeView, оболочка DOS - часть виртуальной машины. Из-за этого вы не должны запускать TSR'ы, когда вы находитесь в оболочке DOS. Если вы это сделаете, когда вы выйдете из CodeView, TSR исчезнет вместе с виртуальной машиной. Это - опасно, потому что любой невосстановленный вектор прерывания может вызвать зависание вашей ЭВМ. Переключатель 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. РАЗДЕЛ IV - Дополнительные Темы ГЛАВА 11 11.1 Использование Soft-ICE с другими Отладчиками Soft-ICE разрабатывался, чтобы "сотрудничать" с другими отладчиками. Каждый отладчик предлагает разные возможности и, следовательно, требует специальной обработки. Этот раздел опишет способы эффективного использования отладчиков. 11.1.1 Отладчики, Использующие DOS Много отладчиков используют DOS и ROM BIOS, чтобы выполнять их экранный и клавиатурный ввод/вывод. При использовании этих отладчиков с Soft-ICE (напр., DEBUG, SYMDEB и CODEVIEW) должны иметься ввиду определенные соображения, т.к. DOS и ROM BIOS не полностью реентерабельны. Если останов происходит во время исполнения кода DOS или BIOS, может возникнуть проблема повторной входимости. Soft-ICE обеспечивает опциональное предупреждение о повторной входимости, активируемое командой WARN. Когда включен режим WARN, Soft-ICE проверяет DOS и ROM BIOS на повторную входимость до выполнения ACTION, активизирующего главный отладчик. Когда обнаружена проблема повторной входимости, Soft-ICE выводит предупреждающее сообщение и предлагает вам выбор : продолжить выполнение кода или вернуться в Soft-ICE. Обратите внимание, что сам Soft-ICE не использует вызовы DOS или ROM BIOS в командах отладки. Это значит, что вы можете использовать Soft-ICE в любое время, не волнуясь о проблемах повторной входимости. Для большей информации о команде WARN, см. часть 5.4. 11.1.2 Команда ACTION с другими Отладчиками Различные отладчики используют разные методы активизации. Для описания этих методов см. часть 13.1. Если вы хотите возвращаться к вашему отладчику после выполнения останова, вы должны изменить ACTION (см. раздел 5.4) для работы с вашим отладчиком. В большинстве случаев действие, которое должно выполняться после останова, - INT3. Так DEBUG и SYMDEB будут работать лучше всего с ACTION, установленным на INT3. Если INT3 не работает с вашим отладчиком, попробуйте INT1 или NMI. CODEVIEW работает лучше всего с ACTION, установленным на NMI. 11.1.3 Специальные Соображения Когда установлена точка останова, вы должны быть осторожны, чтобы случайно ее не вызвать. Так, если вы установите точку останова в памяти в 0:0, затем используйте ваш отладчик для просмотра дампа памяти в 0:0, будет вызван Soft-ICE. Если ACTION установлено на вызов вашего отладчика, тогда ваш отладчик вызовет сам себя. Так как некоторые отладчики - нерентерабильны, это может быть фатальной проблемой. Эта проблема может также возникнуть с другими функциями отладки типа редактирования или дизассемблирования. Руководство по Soft-ICE (DOS) - руководство для пользователя, описывающее использование отладчика Soft-ICE в DOS-окружении. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Руководство по Soft-ICE ::
|
||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |