faulthandler imprime tracebacks de Python ante errores fatales, incluidas algunas infracciones detectadas a nivel nativo. Es útil cuando un proceso termina sin una excepción convencional.
Ejemplo práctico
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
Actívalo antes del problema
Usa -X faulthandler o PYTHONFAULTHANDLER para habilitarlo desde el inicio. En un servicio, dirige la salida a un descriptor que permanezca abierto durante todo el proceso.
Investiga bloqueos
dump_traceback_later() puede mostrar stacks tras un timeout y ayudar a localizar un deadlock. Cancela el temporizador cuando termine la operación para evitar un informe engañoso.
Seguridad operativa
Los tracebacks revelan rutas, funciones y flujo interno. Protege los archivos de diagnóstico, limita su retención y nunca los expongas directamente en respuestas HTTP.
Sigue aprendiendo
Refuerza la base con logging en Python. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API, las limitaciones y las diferencias entre versiones.