faulthandler imprime tracebacks de Python em falhas fatais, como algumas violações detectadas no nível nativo. Ele é especialmente útil quando o processo termina sem uma exceção Python convencional.
Exemplo prático
import faulthandler
import sys
faulthandler.enable(file=sys.stderr, all_threads=True)
print("fatal error tracebacks enabled")
## Command-line alternative: python -X faulthandler app.py
Ative antes do problema
Use -X faulthandler ou a variável PYTHONFAULTHANDLER para ativar desde a inicialização. Em serviços, direcione a saída para um descritor que permaneça aberto durante toda a execução.
Investigue bloqueios
dump_traceback_later() pode emitir stacks após um timeout e ajudar a localizar deadlocks. Cancele o temporizador quando a operação terminar para não gerar um diagnóstico enganoso.
Segurança operacional
Tracebacks revelam caminhos, nomes de funções e fluxo interno. Proteja os arquivos de diagnóstico, limite retenção e não os exponha em respostas HTTP.
Continue estudando
Aprofunde a base com logging em Python. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API, as limitações e as diferenças entre versões.