Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Средства отладки




Традиционно средства отладки микропроцессоров ограничивались наличием:

□ короткой команды программного прерывания, которую можно было устанавливать вместо первого байта любой команды;

□ аппаратной реализации пошагового (покомандного) режима, который инициировался установкой специального бита T в регистре флагов.

По мере усложнения МПС возможности внешних аппаратных средств по наблюдению операций, происходящих внутри процессора, уменьшаются. Поэтому в схемах мощных процессоров стали предусматривать разнообразные средства отладки.

Основу средств отладки в процессорах x86 старших моделей составляют специализированные регистры отладки — программируемые регистры задания контрольных точек, регистры управления и состояния отладки. Они заменяют собой средства аппаратных внутрисхемных эмуляторов. Процессоры x86 старших моделей обеспечивают не только покомандную работу, но и регистрацию переключения на конкретную задачу, установку контрольных точек по адресам команд и фиксацию модификации значений переменных в памяти.

Регистры отладки поддерживают контрольные точки по командам и данным, В общем, под контрольной точкой понимается адрес, при использовании которого программой возникает особый случай отладки. Установка контрольной точки по команде обеспечивает регистрацию команды по любому линейному адресу. Задание контрольной точки по данным позволяет узнать, когда производится обращение к конкретной переменной.

Отладочные средства x86 включают в себя:

□ однобайтовую команду контрольной точки INT3, которую можно вставлять в программу по любому адресу; при выполнении этой команды генерируется особый случай отладки;

□ флаг пошагового режима TF в регистре EFLAGS, позволяющий выполнить программу по командам;

□ четыре регистра отладки DR0 — DR3, которые определяют четыре независимые контрольные точки по командам или данным; регистр управления отладкой DR7 и регистр состояния отладки DR6;

□ флаг ловушки T в TSS, который вызывает особый случай отладки при переключении на задачу с установленным в 1 битом T;

□ флаг возобновления RF в регистре EFLAGS, с помощью которого подавляются многократные особые случаи в одной и той же команде.

(Страница209)

Все эти средства действуют как ловушки, следя за возникновением условий, представляющих интерес для программиста. Когда возникает такое условие, формируется особый случай отладки (с вектором 1); только команда int3 генерирует прерывание с вектором 3. Зарезервированный вектор отладки 1 упрощает процедуру вызова отладчика.

Итак, отладчик по вектору 1 вызывается в следующих случаях:

□ при TF=1 после каждой команды;

□ при TTSS=1 в момент переключения на задачу;

□ ловушка контрольной точки по данным;

□ нарушение контрольной точки по команде.

Команда INT3 предоставляет альтернативный способ задания контрольной точки и особенно удобна, если контрольные точки размещаются в исходном коде или требуется установить более четырех контрольных точек.

Программные контрольные точки задаются путем замены обычных команд на команды INT3 — при этом требуется осуществлять запись в сегмент кода (создавать альтернативный сегмент данных), а после отладки — восстанавливать исходный код. Использование аппаратных контрольных точек исключает необходимость модификации кода (можно отлаживать программу, размещенную в ПЗУ), а так же допускает контроль обращения к данным.

Рассмотренные средства позволяют вызывать отладчик как процедуру в контексте текущей задачи или как отдельную задачу при выполнении одного из следующих условий:

□ выполнение команды контрольной точки INT3;

□ выполнение любой команды (при TF=1);

□ выполнение команды по указанному адресу;

□ считывание или запись байта, слова или двойного слова по указанному адресу;

□ запись байта, слова или двойного слова по указанному адресу;

□ переключение на конкретную задачу;

□ попытка изменить содержимое регистра отладки.




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 627; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.