# Debugging and Profiling

These libraries help you with Python development: the debugger enables you to step through code, analyze stack frames and set breakpoints etc., and the profilers run code and give you a detailed breakdown of execution times, allowing you to identify bottlenecks in your programs. Auditing events provide visibility into runtime behaviors that would otherwise require intrusive debugging or patching.

- Tabla de auditoría de eventos
- `bdb` — Debugger framework
- `faulthandler` — Dump the Python traceback
  - Dumping the traceback
  - Fault handler state
  - Dumping the tracebacks after a timeout
  - Dumping the traceback on a user signal
  - Issue with file descriptors
  - Example
- `pdb` — The Python Debugger
  - Debugger Commands
- Los perfiladores de Python
  - Introducción a los perfiladores
  - Manual instantáneo de usuario
  - Referencia del módulo `profile` y `cProfile`
  - La clase `Stats`
  - ¿Qué es el perfil determinista?
  - Limitaciones
  - Calibración
  - Usando un temporizador personalizado
- `timeit` — Mide el tiempo de ejecución de pequeños fragmentos de código
  - Ejemplos básicos
  - Interfaz de Python
  - Interfaz de línea de comandos
  - Ejemplos
- `trace` — Rastrear la ejecución de la declaración de Python
  - Uso de la línea de comandos
    - Opciones principales
    - Modificadores
    - Filtros
  - Interfaz programática
- `tracemalloc` — Trace memory allocations
  - Examples
    - Display the top 10
    - Compute differences
    - Get the traceback of a memory block
    - Pretty top
  - API
    - Functions
    - DomainFilter
    - Filter
    - Frame
    - Snapshot
    - Statistic
    - StatisticDiff
    - Trace
    - Traceback