Отладчик

Материал из Весельчак У
Версия от 22:10, 25 июля 2011; Dale (обсуждение | вклад) (Новая страница: «'''Отладчик''' (Debugger) - программное или аппаратно-программное средство, предназначенное дл...»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Отладчик (Debugger) - программное или аппаратно-программное средство, предназначенное для ускорения и облегчения процесса отладки.

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

Минимальный сервис, предоставляемый О., обычно включает в себя задание точек останова, пошаговое выполнение программы, просмотр/модификацию ячеек памяти и подобные примитивные операции. Более развитые О. предоставляют дополнительный сервис, например, трассировка/отладка в терминах языка высокого уровня, на котором написана программа (при условии, разумеется, что при компиляции были сгенерированы дополнительные данные для отладки), слежение за значениями переменных, точки останова по заданному условию и т.д.

Аппаратные О. требуют наличия специального отладочного оборудования (например, внутрисхемного эмулятора). Это оборудование позволяет заглянуть в "недра" отлаживаемой системы, недоступные другими способами извне (например, просмотреть содержимое регистров общего назначения или задать точку останова программы).

Впрочем успехи микроэлектроники привели к тому, что зачастую серийные микропроцессоры (микроконтроллеры) оснащаются довольно развитыми средствами внутрисхемной эмуляции, причем это даже не отражается на их стоимости. Поэтому многие аппаратно-программные О. либо вовсе не требуют дополнительных аппаратных средств отладки, довольствуясь встроенными, либо эти дополнительные средства просты и универсальны (например, если отлаживаемая система снабжена интерфейсом JTAG.