Руководство по Soft-ICE (DOS) - 7Delphi , Программа и Интерфейс , Руководство по Soft-ICEРуководство по Soft-ICE (DOS) - 7
Эта команда определяет точку останова на запись байта в память. Останов произойдет когда первый раз в ячейку DS:1000 произойдет запись значения, большего чем 5.
BPR -- Устанавливает точку останова на диапазон памяти Синтаксис:
адрес-начала, адрес-конца -- адрес начала и адрес конца определяют диапазон памяти. опция - R, W, RW, T или TW Комментарии: Команда BPR позволяет устанавливать точку останова на диапазон памяти. Все типы опций, кроме T или TW, заставляют программу выполнять инструкцию, вызвавшую останов. Текущий CS:IP будет указывать на следующую за точкой останова инструкцию. Это - не точка останова на выполнение. Если нужно, чтобы происходил останов при выполнении в диапазоне, должен использоваться R. Для точек останова на диапазон выполнение инструкции рассматривается как чтение. Если опция не определена, по умолчанию принимается W. Точка останова на диапазон будет, в известных обстоятельствах, снижать производительность системы. Любое чтение или запись в пределах 4КБ страницы, которая содержит диапазон точки останова, анализируется Soft-ICE. Это снижение производительности обычно незаметно, но оно может быть очень большим в исключительных случаях. Опции T и TW дают возможность обратной прогонки в указанном диапазоне. Они не вызывают останова, но вместо этого сохраняют информацию об инструкциях, которая может быть выведена позже командами TRACE или SHOW. Для получения большей информации об обратной трассировке, см. главу 9. Пример:
Эта команда определяет точку останова на диапазон памяти. Останов произойдет, если произойдет любая запись в область видеопамяти монохромного адаптера.
BPIO -- Устанавливает точку останова на доступ к порту ввода/вывода Синтаксис:
порт -- Значение длиной в байт или слово Комментарии: Команда BPIO позволяет устанавливать точку останова на чтение или запись в порт ввода/вывода. Если указано значение, оно сравнивается с фактически считываемыми или записываемыми данными, вызвавшей останов, инструкцией IN или OUT. Значение может быть байтом или словом. Если ввод/вывод происходит в байтовый порт, при сравнении используются младшие 8 битов. Указатель инструкции (CS:IP) будет указывать на следующую инструкцию за вызвавшей останов инструкцией IN или OUT. Если опция не определена, по умолчанию принимается RW. Пример:
Эта команда определяет точку останова на доступ к порту ввода/вывода. Останов произойдет, если в регистр маски первого контроллера прерываний будет записано значение, отличное от FFH.
Эта команда определяет байтовую точку останова на чтение из порта ввода/вывода. Останов произойдет при первом считывании из порта ввода/вывода 3FE значения, у которого два старших бита установлены в 1. Другие биты могут принимать любые значения.
BPINT -- Устанавливает точку останова на прерывание Синтаксис:
номер-прерывания -- Номер прерывания из 0 - FF hex Комментарии: Команда BPINT позволяет производить останов при выполнении аппаратного или программного прерывания. Указывая как необязательный параметр значение регистра AX, можно легко выделить определенные вызовы DOS или BIOS. Если значение не определено, останов произойдет при выполнении прерывания, определенного номером-прерывания. Это прерывание может быть аппаратным, программным или внутренним прерыванием. При выполнении прерывания необязательное значение сравнивается с указанным регистром (AH, AL или AX). Если значение соответствует указанному регистру, происходит останов. Когда происходит останов, если прерывание было аппаратным, указатель инструк- ции (CS:IP) будет указывать на первую инструкцию в процедуре обработки преры- вания. Чтобы узнать, где происходило выполнение программы, когда произошло прерывание, может использоваться команда INT?. Если прерывание было программным, то при останове указатель инструкции (CS:IP) будет указывать на инструкцию INT, вызвавшую останов. Пример:
Эта команда определяет точку останова на прерывание 21H. Останов произойдет, когда будет вызвана функция DOS 4CH (завершить программу).
BPX -- Устанавливает/удаляет точку останова на выполнение Синтаксис:
Комментарии: Команда BPX позволяет устанавливать или удалять точку останова типа point-and- shoot на выполнение в исходном тексте. Когда курсор находится в окне кода, адрес не требуется. Точка останова на выполнение устанавливается по адресу текущего положения курсора. Если точка останова на выполнение уже была установлена по адресу текущего положения курсора, то она будет удалена. Если окно кода не видимо или курсор - не в окне кода, то должен быть определен адрес. Если определено только смещение, то в качестве сегмента используется текущее значение регистра CS. Техническое Примечание: BPX использует для точек останова стиль прерывания 3, если указанный адрес не принадлежит ROM. Это используется вместо регистра точек останова, чтобы предоставить больше точек останова на выполнение. Если в ваших обстоятельствах по некоторым причинам требуется использование регистра точек останова (например, код не загружен) вы можете установить точку останова командой BPM. Пример:
Устанавливает точку останова на выполнение в строку 1234 исходного текста.
CSIP -- Устанавливает определитель диапазона CS:IP Синтаксис:
NOT -- Когда указан NOT, останов произойдет только если указатель CS:IP выйдет из указанного диапазона. Комментарии: Команда CSIP вызывает останов, зависящий от положения указателя инструкций, когда будут выполнены условия точки останова. Эта функция часто полезна, когда программа подозревается в случайном изменении кода вне своих границ. Когда выполнены условия точки останова, регистры CS:IP сравниваются с указанным диапазоном. Если они - в пределах диапазона, точка останова активизируется. Для активизации останова, когда CS:IP - вне диапазона, используйте параметр NOT. Когда определен диапазон CSIP, он применяется ко ВСЕМ точкам останова, которые активны в настоящее время. Если параметры не определены, выводится текущий диапазон CSIP. Пример:
Эта команда вызывает останов, который произойдет только если CS:IP НЕ указывают в область ROM BIOS когда выполнены условия точки останова.
BPAND -- Ожидает срабатывания многих точек останова Синтаксис:
список -- Ряд номеров-останова, разделенных запятыми или пробелами Комментарии: Команда BPAND производит логическую операцию AND над двумя и более точками останова, вызывая останов только, когда выполнены условия для всех точек останова. Иногда условия останова возникают, когда он вам не нужен, пока не будут выполнены несколько различных условий. Команда BPAND позволяет определять две или более точек останова, которые должны произойти перед производимым действием. Эта функция позволяет устанавливать точки останова по более сложным условиям. Каждый раз, когда используется команда BPAND, указанные номера точек останова добавляются к списку, пока не будет использована BPAND OFF. Вы можете увидеть какие из номеров-останова объединены по AND'у, просматривая список точек останова командой BL. Номера точек останова, объединенных по AND'у, будут заканчиваться амперсантом (&). Один раз объединенные по AND'у, точки останова остаются объединенными, пока не будут удалены или пока BPAND не будет отключен. Пример:
Эта команда логически связывает условия точек останова 0, 2 и 3 между собой. Останов происходит, только когда выполнены условия всех трех. Например, если, по крайней мере, однажды выполнены условия точек останова 2 и 3, но условия точки останова 0 пока не выполнены вообще, то действие не произойдет, пока не будут выполнены условия точки останова 0. Руководство по Soft-ICE для DOS - это документация, которая описывает функциональность и синтаксис команды Soft-ICE, позволяющей устанавливать точку останова на различные события, такие как доступ к порту ввода-вывода, прерывания, выполнение инструкции и Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Руководство по Soft-ICE ::
|
||||||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |