🛠️Инструменты отладки

Breakpoints, step-through, watch expressions. Chrome DevTools для веба. gdb, lldb для C/C++. Профилирование: CPU, память. APM: Datadog, New Relic.

📖4 мин чтения📊Уровень 6📅16 апреля 2026 г.

Загрузка карты...

Отладка — половина работы

Программисты шутят: «Написание кода занимает 20% времени, отладка — 80%». Это преувеличение, но с зерном правды. Умение эффективно находить и исправлять ошибки — один из главных навыков разработчика. И здесь инструменты решают.

Отладчик (Debugger)

Debugger — программа, позволяющая выполнять код пошагово, наблюдать за значениями переменных, останавливаться в нужных точках.

Точка останова (Breakpoint) — программа останавливается на указанной строке, не продолжая выполнение. Можно осмотреть состояние: все переменные, стек вызовов, память.

Step Over / Step Into / Step Out — выполнить следующую строку / войти в функцию / выйти из функции. Пошаговое выполнение даёт полный контроль над потоком программы.

Отладчики встроены в большинство IDE (VS Code, IntelliJ, Xcode). Для C/C++ — GDB. Для Python — pdb. Для JavaScript в браузере — DevTools.

Browser DevTools

Chrome/Firefox DevTools — незаменимый инструмент веб-разработчика. Elements — просмотр и редактирование HTML/CSS в реальном времени. Console — вывод ошибок и выполнение JavaScript. Network — все сетевые запросы с временем и телом. Sources — отладчик JavaScript. Performance — профилирование.

Логирование

Логирование — запись событий в программе в текстовый файл или систему агрегации. Правильный лог позволяет восстановить картину событий после инцидента без возможности воспроизвести баг вживую.

Уровни логирования: DEBUG, INFO, WARNING, ERROR, CRITICAL. В production обычно WARNING+. Централизованный сбор логов: ELK Stack (Elasticsearch + Logstash + Kibana), Grafana Loki.

Профилировщик

Profiler измеряет, сколько времени и памяти тратит каждая часть программы. Позволяет найти узкие места (bottleneck): функцию, которую вызывают миллион раз и которая работает медленно. Python: cProfile, py-spy. Java: JProfiler, YourKit. JavaScript: Chrome Performance.

Часто задаваемые вопросы

Точка останова — метка в коде, при достижении которой отладчик приостанавливает выполнение для просмотра состояния программы.