Что такое Python Debugger (pdb) и для чего он используется

Ответ

pdb (Python Debugger) — это встроенный в Python интерактивный отладчик исходного кода. Он позволяет приостанавливать выполнение программы в определённой точке, чтобы проанализировать её состояние, проверить значения переменных и пошагово отследить логику работы.

Основные цели использования:

  • Поиск и исправление ошибок (багов): Анализ состояния программы в момент сбоя.
  • Понимание работы чужого кода: Пошаговое выполнение для изучения логики.
  • Проверка гипотез: Интерактивное выполнение команд в контексте работающей программы.

Как использовать:

Самый простой способ — вставить import pdb; pdb.set_trace() в то место кода, где нужно остановиться.

import pdb

def calculate_total(price, quantity):
    discount = 0.1
    total_before_discount = price * quantity

    # Устанавливаем точку останова здесь, чтобы проверить переменные
    pdb.set_trace()

    final_price = total_before_discount * (1 - discount)
    return final_price

calculate_total(150, 3)

При запуске этого кода выполнение остановится, и в терминале появится интерактивная консоль (Pdb). В ней можно использовать команды:

  • n (next) — выполнить следующую строку кода.
  • s (step) — зайти внутрь вызываемой функции.
  • c (continue) — продолжить выполнение до следующей точки останова или до конца программы.
  • p <переменная> (print) — напечатать значение переменной (например, p total_before_discount).
  • l (list) — показать участок кода вокруг текущей строки.
  • q (quit) — завершить сессию отладки.