Отладчик
Отладчик (также Дебаггер, Дебагун, Debugger) — мощная программа, которая позволяет делать отлаживание файлов. С его помощью можно постараться понять, каким образом определённая программа отправляется в не то место, какие причины это вызывают.
Описание[править]
Когда человек пишет программу, а затем запускает её, может так статься, что программа закукарекает и начисто откажется работать. Тогда начнёт работать вопрос, что же делать? Если программа большая и толстая, то читать её вручную и исследовать вопрос может быть крайне затратно, а многие баги ещё и тяжки в обнаружении, ибо буквально заползли куда-то глубоко и спрятались. Спасёт князе и лорде отладчик дык. Понял, пчела?
Первые отладчики появились вместе с первыми электронными вычислительными машинами. Программисты того времени были вынуждены отлаживать программы на физическом уровне, используя переключатели и световые индикаторы на передней панели компьютера.
После финализации языков программирования для компуктеров явилось сильное понимание. Появились более совершенные отладчики для операционных систем Unix, например adb и dbx. Мощный бородатый Ричард Столлман же начал разработку GNU Debugger, который стал одним из самых распространённых отладчиков для Unix-подобных систем, ибо его возможности впечатляют, как вставший твёрдый питон.
В большинстве дебагунов имеется понятие точки останова, это метки, устанавливаемые программистом в определённых местах программы. Когда достигается точка останова, выполнение программы приостанавливается, после чего можно понять, что находится в переменных и отследить багыч.
Отладчики позволяют просматривать и анализировать данные программы во время её выполнения. Программист может наблюдать значения локальных и глобальных переменных, содержимое памяти, состояние регистров процессора. Стек вызовов показывает последовательность вызовов функций, приведшую к текущей точке выполнения. Это особенно полезно при отладке сложных программ с глубокой вложенностью функций.
В целом это весьма полезная программа, с которой хорошо бы уметь работать всякому программисту.