# 27. Débogueur et instrumentation

Ces bibliothèques sont là pour vous aider lors du développement en Python : Le débogueur vous permet d’avancer pas à pas dans le code, d’analyser la pile d’appel, de placer des points d’arrêts, … Les outils d’instrumentation exécutent du code et vous donnent un rapport détaillé du temps d’exécution, vous permettant d’identifier les goulots d’étranglement dans vos programmes.

- 27.1. `bdb` — Framework de débogage
- 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. Exemple
- 27.3. `pdb` — Le débogueur Python
  - 27.3.1. Commande du débogueur
- 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` — Mesurer le temps d’exécution de fragments de code
  - 27.5.1. Exemples simples
  - 27.5.2. Interface Python
  - 27.5.3. Interface en ligne de commande
  - 27.5.4. Exemples
- 27.6. `trace` — Trace or track Python statement execution
  - 27.6.1. Utilisation en ligne de commande.
    - 27.6.1.1. Main options
    - 27.6.1.2. Modifiers
    - 27.6.1.3. Filters
  - 27.6.2. Programmatic Interface
- 27.7. `tracemalloc` — Trace memory allocations
  - 27.7.1. Exemples
    - 27.7.1.1. Display the 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. Fonctions
    - 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