# 27. Depuração e perfilamento

Essas bibliotecas ajudam você com o desenvolvimento em Python: o depurador permite percorrer o código, analisar quadros de empilhamento e definir pontos de interrupção, etc., e o perfilador executa o código e fornece uma análise detalhada dos tempos de execução, permitindo que você identifique gargalos em seus programas.

- 27.1. `bdb` — Debugger framework
- 27.2. `faulthandler` — Dump the Python traceback
  - 27.2.1. Dumping the traceback
  - 27.2.2. Fault handler state
  - 27.2.3. Dumping the tracebacks after a timeout
  - 27.2.4. Dumping the traceback on a user signal
  - 27.2.5. Issue with file descriptors
  - 27.2.6. Exemplo
- 27.3. `pdb` — O Depurador do Python
  - 27.3.1. Comandos de depuração
- 27.4. The Python Profilers
  - 27.4.1. Introduction to the profilers
  - 27.4.2. Instant User’s Manual
  - 27.4.3. `profile` and `cProfile` Module Reference
  - 27.4.4. The `Stats` Class
  - 27.4.5. What Is Deterministic Profiling?
  - 27.4.6. Limitations
  - 27.4.7. Calibration
  - 27.4.8. Using a custom timer
- 27.5. `timeit` — Measure execution time of small code snippets
  - 27.5.1. Basic Examples
  - 27.5.2. Python Interface
  - 27.5.3. Interface de Linha de Comando
  - 27.5.4. Exemplos
- 27.6. `trace` — Rastreia ou acompanha a execução de instruções Python
  - 27.6.1. Uso da linha de comando
    - 27.6.1.1. Opções principais
    - 27.6.1.2. Modificadores
    - 27.6.1.3. Filtros
  - 27.6.2. Interface programática
- 27.7. `tracemalloc` — Trace memory allocations
  - 27.7.1. Exemplos
    - 27.7.1.1. Exibe o top 10
    - 27.7.1.2. Compute differences
    - 27.7.1.3. Get the traceback of a memory block
    - 27.7.1.4. Pretty top
  - 27.7.2. API
    - 27.7.2.1. Funções
    - 27.7.2.2. DomainFilter
    - 27.7.2.3. Filter
    - 27.7.2.4. Frame
    - 27.7.2.5. Snapshot
    - 27.7.2.6. Statistic
    - 27.7.2.7. StatisticDiff
    - 27.7.2.8. Trace
    - 27.7.2.9. Traceback