Содержание
Принципы работы Отладчиков
Часто для того, чтобы разобраться почему код работает не так, программист прибегает к помощи отладчиков, однако, то как они устроены и каким образом действуют, известно далеко не всем. В этой статье будет дано краткое описание механизма отладки, который используется операционной системой Linux и приведён короткий пример его использования
Для начала дадим неформальное определение. Отладчик -- программа, с помощью которой можно подробно отслеживать и изменять статус выполнения другой программы.
Типы Отладчиков:
- отладчики уровня ядра ОС -- компонент ядра ОС, позволяющий отлаживать ОС и процессы. Для работы отладчик использует функционал, заложенный в процессор.
- отладчики приложений -- пользовательская программа, которая позволяет отлаживать другие процессы. Для работы используют API-интерфейс, который предоставляет ядро ОС.
Подробно остановимся на втором типе отладчиков, и попробуем разобраться, какой функционал необходимо предоставлять ядро ОС для их функционирования.
Перечислим основные функции, необходимые отладчику:
- возможность стартовать и останавливать процесс.
- возможность пошагового исполнения кода.
- возможность читать и писать в произвольную область памяти.
- чтение и изменение содержимого регистров процессора.