# Налагодження та профілювання

Ці бібліотеки допомагають вам у розробці Python: налагоджувач дає змогу покроково переглядати код, аналізувати фрейми стеку та встановлювати точки зупину тощо, а профайлери запускають код і надають детальну розбивку часу виконання, дозволяючи вам визначати вузькі місця у ваших програмах. Події аудиту забезпечують видимість поведінки під час виконання, яка інакше вимагала б нав’язливого налагодження або виправлення.

- Таблиця подій аудиту
- `bdb` — Debugger framework
- `faulthandler` — Dump the Python traceback
  - Викидання трасування
  - Dumping the C stack
    - C Stack Compatibility
  - Стан обробника помилок
  - Викидання трасування після тайм-ауту
  - Скидання зворотного відстеження за сигналом користувача
  - Проблема з дескрипторами файлів
  - приклад
- `pdb` — Налагоджувач Python
  - Команди налагоджувача
- Профайлери Python
  - Знайомство з профайлерами
  - Посібник користувача Instant
  - Довідка про модуль `profile` і `cProfile`
  - Клас `Stats`
  - Що таке детерміноване профілювання?
  - Обмеження
  - Калібрування
  - Використання спеціального таймера
- `timeit` — Measure execution time of small code snippets
  - Основні приклади
  - Інтерфейс Python
  - Інтерфейс командного рядка
  - Приклади
- `trace` — Trace or track Python statement execution
  - Використання командного рядка
    - Основні параметри
    - Модифікатори
    - Фільтри
  - Програмний інтерфейс
- `tracemalloc` — Trace memory allocations
  - Приклади
    - Покажіть 10 найкращих
    - Обчислити відмінності
    - Отримати відстеження блоку пам’яті
    - Досить топ
      - Запис поточного та пікового розміру всіх відстежених блоків пам’яті
  - API
    - Функції
    - DomainFilter
    - фільтр
    - рамка
    - знімок
    - статистика
    - StatisticDiff
    - Слід
    - Простежити