TGViewer
10 минут до кода 10 минут до кода @ten_minutes_to_code · 228 subscribers
Post #23 103
Stack Trace: Карта преступления, а не просто красный текст

😱 Увидел красный текст в консоли — и всё, микропаника.

Первая реакция большинства: судорожно прыгнуть в ту самую строчку, на которую ткнул пальцем лог, и начать там что-то менять на ощупь. Это плохая стратегия. Если бы всё было так просто, дебаг не занимал бы 80% времени.

💡 Ошибка — это когда твоя логика получила на вход данные, которые она не ожидала, и подавилась.

А цепочка вызовов (Stack Trace) — это буквально карта места преступления. Хлебные крошки, по которым ты, как детектив, должен отмотать время назад и понять, где всё пошло не так.

Реверс-инжиниринг цепочки событий

Когда приложение падает, ты видишь финальную точку — место, где код испустил дух. Но убийца часто находится на 3–4 шага выше по списку. Например, ты получил ошибку, потому что произошло деление на ноль. Ты идешь в строчку, видишь это деление и… что? Тебе нужно понять, как этот ноль вообще попал в систему.

Опытный программист не чинит «красный текст». Он делает реверс-инжиниринг цепочки вызовов:

1. Читаешь Trace сверху вниз.
2. Игнорируешь мусор. Если видишь в стеке файлы из node_modules или внутренности фреймворка — пролетай мимо. Там код оттестирован миллионами людей. Вероятность, что баг в React или Vue коде, стремится к нулю.
3. Ищешь первую сверху строчку, которая относится к твоему коду. Это и есть точка откуда нужно начинать расследование.

В локальной разработке всё еще проще: кликаешь по подсвеченной ссылке в консоли, прыгаешь во вкладку Source и сразу видишь свой код. Твоя задача — прочитать его задом наперед. Кто вызвал эту функцию? С какими данными? Почему на вход пришел undefined вместо объекта?

Подкапотка и реальность

Часто «падение» в библиотеке — это просто симптом. Твой код скормил фреймворку кривые данные, фреймворк честно попытался их переварить, но не смог. Если ты будешь чинить только ту строчку, где вылетел Exception, ты просто наклеишь пластырь на открытый перелом.

Смотри на Stack Trace как на историю того, как данные текли по трубам твоего приложения. Где-то труба дала течь, а залило подвал. Не надо вытирать пол в подвале, надо искать дыру в трубе этажом выше.

Если что-то всё ещё звучит запутанно — пиши вопросы в комментах, я обязательно отвечу. А если всё разложилось по полочкам — ставь 🔥, так я пойму, что пост был полезен

10МДК
  • 🔥 7
More from @ten_minutes_to_code
  1. May 28, 2026Первый сезон получился про путь “от пользователя к инженеру”. Именно эту картину мы весь с…
  2. May 28, 2026Когда я запускал этот канал, у меня была довольно простая идея: писать каждый день коротки…
  3. May 7, 2026Почему нормализация БД — это чистая логика, а не бюрократия На любом ongoing-проекте требо…
  4. May 3, 2026🤔 А где новые посты? Сори что вот так пропал без предупреждения, но я думал что справлюсь…
  5. Apr 29, 2026Почему HTTPS не спасет ваши секреты Замочек в адресной строке браузера — это мощное успоко…
  6. Apr 28, 2026Целостность данных против иллюзии атомарности Начинающий разработчик видит базу данных как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →