Руководство по Soft-ICE (DOS) - 11Delphi , Программа и Интерфейс , Руководство по Soft-ICEРуководство по Soft-ICE (DOS) - 11
Пример:
Этот пример устанавливает точку останова на выполнение на текущую позицию курсора, затем выходит из Soft-ICE и начинает выполнение с текущего CS:IP. Заданная по умолчанию Функциональная клавиша: F7 GENINT GENINT -- Вызов прерывания Синтаксис:
номер-прерывания -- число в диапазоне 00 - FF Комментарии: Команда GENINT вызывает прерывание. Она может использоваться для передачи управления другому отладчику при использовании Soft-ICE с другим отладчиком. Она также может использоваться для проверки подпрограмм обработки прерываний. Команда GENINT эмулирует последовательность обработки аппаратного прерывания или команды INT. Она сохраняет флаги, регистр CS и регистр IP, затем изменяет значение регистров CS и IP на значение входа в таблицу векторов прерываний, в соответствии с указанным номером прерывания. Пример:
Это вызывает немаскируемое прерывание. Оно передаст управление обратно CodeView, если Soft-ICE используется как вспомогательное средство для CodeView. EXIT EXIT -- Вызывает выход из текущей программы DOS'а Синтаксис:
R -- Восстановить таблицу векторов прерываний Комментарии: Команда EXIT пытается прерывать текущую программу, вызывая функцию выхода DOS (INT 21H, функция 4CH). Эта команда будет работать только если DOS находится в состоянии, когда она способна принять обращение к функции выхода. Если это обращение произведено из некоторых обработчиков прерываний или в других случаях, когда DOS не готова, поведение системы будет непредсказуемо. Эта функция НЕ производит восстановления системных переменных, кроме таблицы прерываний, при указанной опции R. Это означает что переменные BIOS, видеорежимы и другие данные системного уровня не восстанавливаются. Использование опции R вызовет восстановление векторов прерываний к значениям которые были в последний раз, когда они были сохранены. Soft-ICE сохраняет векторы прерываний, когда он загружается, когда LDR.EXE загружает программа и когда используется команда VECS S. Обратите внимание: Для перезапуска программы, которая была загружена программой-загрузчиком Soft-ICE'а (LDR.EXE) сделайте следующее:
Команда EXIT восстановит таблицу прерываний к значениям, которые содержались в ней до загрузки программы, затем выйдите к командному процессору. При помощи запуска LDR и указания суффикса .EXE, программа загружается обратно без перезагрузки символов и исходного текста. Символы и исходный текст останутся в памяти. Внимание: Команда EXIT должна использоваться с осторожностью. Так как Soft-ICE может быть вызван в любое время, может произойти ситуация, когда DOS не в состоянии принять обращение к функции выхода. Также, команда EXIT не производит никакого специфического программного сброса. Например, команда EXIT не восстанавливает видеорежим. Если ваша программа установила видео BIOS и аппаратные средства в определенный видеорежим, они останутся в этом режиме после команды EXIT. Пример:
Восстанавливает таблицу прерываниq и выходит из текущей программы. Опция R должна использоваться при выходе из программы, загруженной программным загрузчиком Soft-ICE'а LDR.EXE. BOOT BOOT -- Перезагрузка системы (с сохранением Soft-ICE) Синтаксис:
Комментарии: Команда BOOT перезагружает систему и сохраняет Soft-ICE. BOOT требуется для отладки последовательности начальной загрузки, загружаемых драйверов DOS и операционных систем отличных от DOS (non-DOS). BOOT выполняется посредством вызова прерывания 19H ROM BIOS. В некоторых случаях память может быть разрушена до такой степени, что прерывание 19 не будет работать. Тогда вызовите Soft-ICE и используйте команду HBOOT. Для правильной работы BOOT Soft-ICE должен быть установлен как загружаемый драйвер в CONFIG.SYS перед всеми другими драйверами устройств. Так Soft-ICE сможет восстановить первоначальное состояние системы максимально точно. Пример:
Эта команда выполняет перезагрузку системы. Soft-ICE остается резидентным. HBOOT HBOOT -- Жесткая перезагрузка системы (общий сброс) Синтаксис:
Комментарии: Команда HBOOT сбрасывает всю систему. Soft-ICE не сохраняется в процессе сброса. HBOOT достаточна, если плата адаптера не требует отключения питания. В этом случае, питание машины нужно отключить и затем восстановить. Пример:
Эта команда производит перезагрузку системы. Soft-ICE должен быть заново загружен. 5.4 Команды Режима Отладки Команды:
ACTION -- Устанавливает действие после достижения точки останова ACTION ACTION -- Устанавливает действие после достижения точки останова Синтаксис:
int-номер -- Любой допустимый номер прерывания (0-FFH). Используйте эту опцию только если пользовательская подпрограмма-обработчик прерывания перехватила этот вектор прерывания (смотрите раздел 11.2). Комментарии: Команда ACTION определяет, куда передается управление, когда выполнены условия точки останова. В большинстве случаев, желательное действие - INT3 или HERE, INT3 обычно используется, если Soft-ICE используется вместе с главным отладчиком, HERE используется, когда желательно вернуться в Soft-ICE при выполнении условий останова, INT1 и NMI - варианты для некоторых отладчиков, которые не работают с опцией INT3. Например, CODEVEW лучше всего работает с ACTION установленным в NMI. Используйте int-номер, если имеется установленная пользовательская процедура обработки прерывания. Использование int-номера без установленной процедуры пользователя по обработке прерывания вызовет ошибку. Для получения более подробной информации, см. раздел 11.2, 'Пользовательские точки останова'. Если параметры команды ACTION не указаны, отображается текущее установленное действие. Заданное по умолчанию действие - HERE. Пример:
Эта команда указывает, что когда будут выполнены условия точки останова, управление вернется Soft-ICE'у. WARN WARN -- Устанавливает режим предупреждения повторной входимости DOS/ROM BIOS Синтаксис:
Комментарии: Команда WARN предусмотрена для использования Soft-ICE с отладчиками, которые используют DOS и ROM BIOS. Много отладчиков используют DOS и ROM BIOS для вывода на экран и чтения нажатий клавиш. Так как DOS и ROM BIOS не полностью реентерабельны, эти отладчики не могут корректно работать, если останов происходит во время выполнения процедур DOS или ROM BIOS. Если установлен WARN ON и ACTION - не HERE, то управление перейдет к Soft-ICE до того как действие фактически произойдет. Система отобразит текущий CS:IP и предоставит вам выбор продолжить или вернуться в Soft-ICE. Вообще, вы должны выбрать возврат в Soft-ICE для продолжения вашей работы по отладке. Продолжайте работу с главным отладчиком, только если вы знаете, что ваш отладчик не вызовет повторного вхождения в DOS или ROM BIOS. Режим WARN должен быть включен при использовании Soft-ICE с DEBUG, SYMDEB и CODEVIEW. Если параметры не указаны, отображается текущее состояние WARN. Значение по умолчанию - режим WARN OFF. Пример:
Эта команда включает режим предупреждения повторной входимости в DOS/ROM BIOS. BREAK BREAK -- Прерывает исполнение в любое время Синтаксис:
Комментарии: Команда BREAK позволяет вызывать окно Soft-ICE, когда система остановлена с заблокированными прерываниями. Режим BREAK может использоваться для всего сеанса отладки или он может включаться и отключаться, когда это требуется. Режим BREAK немного снижает эффективность системы. Это снижение производительности должно оцениваться с точки зрения необходимости выхода из зависшей программы. Пользователь может хотеть иметь включенный режим BREAK на все время, даже при снижении эффективности, потому что программа может зависнуть в любое время. В отличие от других отладчиков, которые тоже могут быть вызваны в любое время, Soft-ICE не требует внешнего переключателя. Когда BREAK - включен, окно Soft- ICE может быть вызвано в любое время при нажатии текущей комбинации клавиш. Если параметры не указаны, отображается текущее состояние BREAK. Значение по умолчанию - BREAK OFF. Пример:
Эта команда включает режим BREAK. Это означает что окно Soft-ICE может быть вызвано в любое время, даже если прерывания заблокированы. Руководство по использованию команд в Soft-ICE для отладки программ под операционной системой DOS. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Руководство по Soft-ICE ::
|
||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |