|
|
Компьютеры - Отладчик ядра - Основные принципы функционирования23 января 2011
Оглавление: 1. Отладчик ядра 2. Основные принципы функционирования 3. Проблемы при применении
Для нормального функционирования отладчика уровня ядра требуется внесение изменений в ядро операционной системы. Довольно часто это решается при помощи внедрения в ядро дополнительных модулей. Фактически отладчик уровня ядра перехватывает глобально системные функции, которые отвечают за:
- Доступ к памяти
- Создание/завершение процессов
Так же отладчик ядра контролирует обращение к различным таблицам ядра. Ещё один важный момент это управление состоянием процессора, так как процессоры поддерживают пошаговую трассировку и точки останова на аппаратном уровне.
Наиболее известные представители данного класса ПО
- softICE. Проприетарный отладчик разработанный фирмой Numega и распространяемый с продуктом DriverStudio. Были сделаны неофициальные сборки softICE различными хакерскими группами. softICE обеспечивал отладку кода на различных версиях Windows и был благодаря своим широким возможностям неофициальным стандартом в кругах, связанных с обратной инженерией ПО. Однако впоследствии оказался заброшен. Сейчас он уже используется все меньше и меньше, так как не совместим с Windows Vista и 7 В то же время softICE стал во многом фундаментом идеологии использования таких инструментов. Работает только на Windows платформе
- WinDbg, KD, LiveKD. WinDbg официальный бесплатный отладчик c закрытыми исходными текстами, входящий в состав Debugging Tools for Windows от Microsoft. Он ориентирован на GUI интерфейс. Наборы символов для него позволяют исследовать ядро Windows. KD ещё один отладчик от Microsoft, который предназначен для исследования ядра Windows. LiveKD это бесплатный отладчик ядра от Sysinternals, который позволяет отлаживать систему без использования второго компьютера, что требуют два предыдущих отладчика. Более подробно это описано в книге Марка Руссиновича и Дэвида Соломона Внутреннее устройство Windows.
- Syser. Наследник softICE разработанный китайскими программистами. Поддерживает интерфейс в стиле SoftICE. Совместим с новыми операционными системами Windows, поддерживает многопроцессорные системы. Платный продукт с закрытым исходным текстом.
- KDB. Отладчик уровня ядра для *Nix от фирмы SGI. Активируется при помощи наложения патча на ядро. OpenSource проект.
- Linice. Ещё один OpenSource отладчик ядра для *Nix. Существуют некоторые проблемы совместимости с новыми ядрами Linux
Просмотров: 3274
|