# 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. Les événements d'audit fournissent une visibilité sur les comportements d'exécution qui nécessiteraient autrement un débogage ou une correction intrusifs.

- Table des évènements d'audit
- `bdb` --- Debugger framework
- `faulthandler` --- Dump the Python traceback
  - Dumping the traceback
  - Dumping the C stack
    - C Stack Compatibility
  - Fault handler state
  - Dumping the tracebacks after a timeout
  - Dumping the traceback on a user signal
  - Issue with file descriptors
  - Exemple
- `pdb` --- The Python Debugger
  - Command-line interface
  - Debugger commands
- The Python Profilers
  - Introduction to the profilers
  - Instant User's Manual
  - `profile` and `cProfile` Module Reference
  - The `Stats` Class
  - What Is Deterministic Profiling?
  - Limitations
  - Calibration
  - Using a custom timer
- `timeit` --- Measure execution time of small code snippets
  - Exemples simples
  - Interface Python
  - Interface en ligne de commande
  - Exemples
- `trace` --- Trace or track Python statement execution
  - Utilisation en ligne de commande.
    - Main options
    - Modifiers
    - Filters
  - Programmatic Interface
- `tracemalloc` --- Trace memory allocations
  - Exemples
    - Display the top 10
    - Compute differences
    - Get the traceback of a memory block
    - Pretty top
      - Record the current and peak size of all traced memory blocks
  - API
    - Fonctions
    - DomainFilter
    - Filter
    - Frame
    - Snapshot
    - Statistic
    - StatisticDiff
    - Trace
    - Traceback