Отладчик

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Отладчик (также Дебаггер, Дебагун, Debugger) — мощная программа, которая позволяет делать отлаживание файлов. С его помощью можно постараться понять, каким образом определённая программа отправляется в не то место, какие причины это вызывают.

Реально что ли?

Описание[править]

Когда человек пишет программу, а затем запускает её, может так статься, что программа закукарекает и начисто откажется работать. Тогда начнёт работать вопрос, что же делать? Если программа большая и толстая, то читать её вручную и исследовать вопрос может быть крайне затратно, а многие баги ещё и тяжки в обнаружении, ибо буквально заползли куда-то глубоко и спрятались. Спасёт князе и лорде отладчик дык. Понял, пчела?

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

После финализации языков программирования для компуктеров явилось сильное понимание. Появились более совершенные отладчики для операционных систем Unix, например adb и dbx. Мощный бородатый Ричард Столлман же начал разработку GNU Debugger, который стал одним из самых распространённых отладчиков для Unix-подобных систем, ибо его возможности впечатляют, как вставший твёрдый питон.

В большинстве дебагунов имеется понятие точки останова, это метки, устанавливаемые программистом в определённых местах программы. Когда достигается точка останова, выполнение программы приостанавливается, после чего можно понять, что находится в переменных и отследить багыч.

Отладчики позволяют просматривать и анализировать данные программы во время её выполнения. Программист может наблюдать значения локальных и глобальных переменных, содержимое памяти, состояние регистров процессора. Стек вызовов показывает последовательность вызовов функций, приведшую к текущей точке выполнения. Это особенно полезно при отладке сложных программ с глубокой вложенностью функций.

В целом это весьма полезная программа, с которой хорошо бы уметь работать всякому программисту.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниор
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор