Загружаем изображение…

Слышали, что Python может сам напечатать стек при креше!



Есть встроенный механизм, который автоматически печатает traceback при ошибках, включая segfault, stack overflow и abort:
faulthandler.enable()

По умолчанию он пишет стек в stderr в момент падения интерпретатора, то есть вы получаете информацию после креша, а не до него:
# работает даже при segmentation fault

Можно принудительно напечатать стек всех потоков в любой момент выполнения:
faulthandler.dump_traceback(all_threads=True)

А если нужно сохранять стек в файл (например, на сервере без доступа к stdout), вывод легко перенаправляется:
faulthandler.enable(open("crash.log", "w"))

Этот модуль используется для отладки CPython, встроен в стандартную библиотеку и может очень выручить.

Python Ready | #совет
Просмотры: 242
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти