Каков механизм работы sys.settrace и как на его основе работают дебаггеры и профайлеры?

sys.settrace регистрирует функцию, получающую события выполнения Python-кода: вызов, строку, возврат и исключение. Дебаггер использует их для остановок, шагов и исследования frame.

Короткий ответ

Что ответить на собеседовании

sys.settrace регистрирует функцию, получающую события выполнения Python-кода: вызов, строку, возврат и исключение. Дебаггер использует их для остановок, шагов и исследования frame.

Подробный разбор

Ответ с пояснениями

sys.settrace регистрирует функцию, получающую события выполнения Python-кода: вызов, строку, возврат и исключение. Дебаггер использует их для остановок, шагов и исследования frame.

Trace-функция может вернуть локальный обработчик для текущего frame; трассировка построчно создаёт заметные накладные расходы. Настройка действует на текущий поток, другие потоки требуют отдельного подключения. Профилировщики могут использовать sys.setprofile, sampling или современные monitoring API, поэтому не все они построены на settrace. Содержимое frame может включать секреты.

Источник: docs.python.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее