Инструментарий системного программиста
Инструментарий системного программиста
1. Операционная система – большая, большая, большая программа!!!
2. Компиляторы и ассемблеры, и все средства порождающие исполняемый код
3. Редакторы связей – linker
4. Библиотеки стандартных функций
5. Отладчики – бывают двух типов:
5.1 отладчик на языке высокого уровня – обычно встроен в среду разработки программ, когда исходный текст программы преобразовывается в объектный код имена объектов в программе заменяются на адреса этих объектов в памяти. Эта информация о взаимном соответствии между именами объектов в исходной программе и адресами объектов в исполняемом коде в исполняемый файл не попадает. Поэтому отладчик, не имеющий доступа к этой информации не может показать получившийся исполняемый код в его исходном виде, отобразить отлаживаемую программу в виде ее исходного текста может только отладчик способный получить из среды программирования информацию о взаимном соответствии адресов и имен. В большинстве случаев это отладчик, встроенный в среду программирования.
Вместе с этой лекцией читают "6. Даталогическое проектирование".
5.2 отладчик машинных кодов (ассемблерный) – если информация о соответствии имен и адресов недоступна отладчику, то используются универсальные или ассемблерные отладчики. Они не могут отобразить отлаживаемую программу в виде ее исходного текста. В место этого они отображают программу в виде текста на ассемблере.
Режимы работы отладчиков:
1. пошаговый режим (трассировка) – после выполнения каждой команды отлаживаемой программы ее исполнение прерывается, и управление передается отладчику. Отладчик отображает состояние регистров ЦП и переходит к ожиданию команд от пользователя. Режим позволяет глубоко взаимодействовать с программой, но является очень медленным.
2. режим контрольных точек – пользователь просматривает код программы на некоторое количество команд вперед и одну из команд назначает контрольной точкой. После этого отладчику дается команда на запуск программы, дойдя по коду программы до контрольной точки процессор, прерывает исполнение программы и передает управление отладчику. По ходу выполнения программы, если контрольная точка не достигнута, то выполнение программы для передачи управления отладчику не происходит.
6. Дизассемблер - программа, преобразующая исполняемый код в ассемблерный код, который после ассемблирования и связывания даст исходный исполняемый.
7. Системные утилиты – это программы, которые выполняясь либо отображают состояния ОС, либо влияют на него.