dev-tools
Словарь ↗Отладчик (Debugger)
Отладчик — это инструмент, позволяющий разработчику управлять работающей программой и исследовать её — приостанавливать выполнение в определённой точке (точка останова), пошагово проходить код построчно и изучать текущие значения переменных, стек вызовов и память, вместо того чтобы гадать, что происходит, читая статический код или расставляя разрозненные print-выражения. Большинство современных IDE поставляются со встроенным отладчиком (встроенный отладчик VS Code, Chrome DevTools для JavaScript, работающего в браузере, `pdb`/`debugpy` для Python, `delve` для Go), взаимодействующим с работающим процессом через протокол отладки. Почему это важно для создателей AI/SaaS-продуктов: отладчик превращает вопрос «почему это сломано» из упражнения в чтении кода и надежде в упражнение по прямому наблюдению за тем, что фактически происходит в момент сбоя, — это радикально быстрее для всего, что выходит за рамки тривиального бага. Это также инструмент, который всё чаще используют сами AI-агенты по написанию кода: агентный рабочий процесс отладки может установить точку останова, запустить программу, изучить фактические значения времени выполнения и использовать эту объективную истину для формирования корректной гипотезы вместо того, чтобы гадать только по исходному коду. Как это работает: отладчик устанавливает точки останова (маркеры, приостанавливающие выполнение при достижении), затем позволяет вам шагнуть через строку (выполнить текущую строку и остановиться на следующей), шагнуть внутрь (проследовать в вызываемую функцию) или шагнуть наружу (завершить текущую функцию и вернуться к вызывающей). На любой паузе вы можете изучить стек вызовов (какие функции вызывали какие, по порядку) и вычислить выражения в текущей области видимости, включая отслеживание изменений конкретных переменных. Практический пример: разработчик получает отчёт об ошибке о том, что сумма в корзине покупок иногда неверна. Вместо того чтобы гадать, он устанавливает точку останова на функции `calculateTotal()`, воспроизводит баг, добавляя товары в корзину в работающем приложении, и отладчик приостанавливает выполнение прямо в момент вызова функции. Он изучает массив `items` в панели переменных отладчика и сразу видит дублирующуюся запись с тем же `id`, но другим `quantity» — баг в логике «добавить в корзину», неправильно объединяющей элементы, а не в самом расчёте суммы, как он предполагал, читая код. Он шагает наружу к вызывающей функции, находит ошибочную логику слияния и исправляет её — открытие, которое заняло бы гораздо больше времени с помощью одних лишь догадок через `console.log`, и которое потребовало бы повторного развёртывания приложения после добавления каждого нового лог-выражения, а затем воспроизведения точно того же бага заново, просто чтобы увидеть следующий фрагмент информации.
Похожие термины