Трассиро́вка — процесс пошагового выполнения программы с выводом информации о выполняемых командах и значениях переменных на каждом шаге. Она используется для анализа логики работы программы, поиска и устранения ошибок, а также оптимизации кода.

Основные характеристики

Позволяет программисту отслеживать порядок выполнения инструкций. Дает возможность наблюдать изменения переменных и состояния программы. Может выполняться с заходом в процедуры (step into) или без (step over). Поддерживается большинством современных отладчиков. В некоторых системах реализуется также шаг назад (reverse debugging).

История Трассировка появилась вместе с первыми системами отладки в 1960-х годах. Уже в ранних ассемблерах существовали специальные инструкции для вывода состояния регистров и памяти. С развитием интегрированных сред разработки (IDE) трассировка стала стандартным инструментом программиста.

Применение

Поиск ошибок (debugging): позволяет выявлять логические ошибки и некорректные данные. Анализ алгоритмов: помогает понять, как работает чужой или устаревший код. Обучение: используется при изучении языков программирования для пошагового анализа работы программ. Профилирование: в некоторых случаях трассировка используется для измерения производительности и выявления узких мест.

Инструменты трассировки

Встроенные средства в IDE (например, Visual Studio, IntelliJ IDEA, Eclipse). Консольные отладчики: gdb (C/C++), pdb (Python). Специализированные системы трассировки (например, DTrace, strace в Unix-подобных системах).

Литература

Kernighan, B. W., Pike, R. «The Practice of Programming». Addison-Wesley, 1999. Robbins, K. A., Robbins, S. «Unix Systems Programming». Prentice Hall, 2003.

См. также Отладчик Отладка Профилирование

Категория:Отладка программ