🛠️Debugging Tools

Breakpoints, step-through, watch expressions. Chrome DevTools for web. gdb, lldb for C/C++. Profiling: CPU, memory. APM: Datadog, New Relic

Article body and graph labels may still appear in Russian where English translations have not been added yet.
📖4 min read📊Level 6📅April 16, 2026

Loading map...

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

Программисты шутят: «Написание кода занимает 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.

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

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