TGViewer
Записки MLEшника Записки MLEшника @yet_another_mle · 859 subscribers
Post #121 2.66K
Спустя долгое время отсутствия приношу пост 👀

Наверняка вы когда-нибудь сталкивались с тем, что питонячий код/скрипт зависал во время выполнения. В такие моменты очень хочется знать, собственно, в каком месте это происходит...

Так вот это довольно легко сделать (по крайней мере на Linux) с помощью дебагера gdb

Делается так:
0. Сохраняем локально файл libpython.py. Это нужно, чтобы в gdb стек и код вокруг отображался "по-питонячему" (иначе это будет малопонятный C++).
- Для этого открываем CPython на гитхабе
- Переключаемся с main ветки на tag с версией питона, которым запущен зависший код
- Скачиваем файл libpython.py (например `wget https://raw.githubusercontent.com/python/cpython/refs/tags/v3.13.5/Tools/gdb/libpython.py`)
1. Подключаемся к зависшему питонячему процессу
sudo gdb -p 68653
2. Подключаем файл
source libpython.py
3. Выбираем нужный поток, если их несколько
info threads - показать все
thread 1 - выбрать первый
4. Смотрим стек
py-bt
5. Смотрим код вокруг
py-list
6. Смотрим переменные
py-locals
7. Двигаемся по стеку выше/ниже
py-up
py-down

Все команды можно посмотреть как раз в файле libpython.py, который мы скачивали на шаге 0

Один-два раз это упражнение делаешь - код болеть не будет! 💪
  • 🔥 22
  • 👍 3
  • 🤔 2
  • 🍌 1
More from @yet_another_mle
  1. May 14, 2026Кто пробовал Paperclip? Это такой оркестратор агентов, но в виде структуры организации. Вы…
  2. Apr 30, 2026Полезный режим был в ChatGPT — Study Mode Пока собрался про него написать, его уже убрали…
  3. Mar 26, 2026Неожиданно полезный сценарий для Claude Code — дебаг сложных LLM-пайплайнов Один промпт де…
  4. Mar 18, 2026Энжоеры langchain тут? Недавно задумался, а что происходит при llm.with_structured_output.…
  5. Mar 10, 2026Довольно давно пользуюсь Obsidian, и недавно стал пользоваться Claude Code. Первый — это н…
  6. Jan 26, 2026Полезный сайтик https://deepwiki.directory, с ИИ описанием репозиториев. Из прикольного -…
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 →