Это старая версия (1.1) PtraceTuto.

Содержание

Принципы работы Отладчиков

Часто для того, чтобы разобраться почему код работает не так, программист прибегает к помощи отладчиков, однако, то как они устроены и каким образом действуют, известно далеко не всем. В этой статье будет дано краткое описание механизма отладки, который используется операционной системой Linux и приведён короткий пример его использования

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

Типы Отладчиков:

  • отладчики уровня ядра ОС -- компонент ядра ОС, позволяющий отлаживать ОС и процессы. Для работы отладчик использует функционал, заложенный в процессор.
  • отладчики приложений -- пользовательская программа, которая позволяет отлаживать другие процессы. Для работы используют API-интерфейс, который предоставляет ядро ОС.

Подробно остановимся на втором типе отладчиков, и попробуем разобраться, какой функционал необходимо предоставлять ядро ОС для их функционирования.

Перечислим основные функции, необходимые отладчику:

  • возможность стартовать и останавливать процесс.
  • возможность пошагового исполнения кода.
  • возможность читать и писать в произвольную область памяти.
  • чтение и изменение содержимого регистров процессора.