import pdb await pdb.set_trace_async(*, header=None, commands=None)
header — необязательный заголовок для вывода при старте отладки.commands — итерируемый объект строк (например, список или кортеж команд), которые будут выполнены при инициализации отладчика.Awaitable-объект (корутина).
pdb.set_trace_async()Добавлено в Python 3.14
Awaitable-объект pdb.set_trace_async представляет собой асинхронную версию pdb.set_trace(), предназначенную для использования внутри async-функций. Позволяет отлаживать асинхронный код с поддержкой await-выражений.
Ключевые особенности:
await во время отладки.monitoring-бэкенд (включается автоматически; если выбран другой backend, будет выброшено исключение).Используйте только внутри async-функций.
Для сложной отладки задавайте начальные команды:
await pdb.set_trace_async(commands=["break 15", "continue"])
Указывайте информативные заголовки для ориентации в коде:
await pdb.set_trace_async(header=f"Отладка {func.__name__}()")
monitoring-бэкендом.pdb.set_trace() в обычных функциях.Примечание:
Для возврата к выполнению используйте команду continue в отладчике, как и в синхронной версии.
pdb.set_trace_async()Базовый пример:
import pdb async def fetch_data(): await pdb.set_trace_async() # Дальнейший асинхронный код
С дополнительными параметрами:
async def main(): await pdb.set_trace_async( header="--- Точка останова в main() ---", commands=["list", "locals"] ) response = await api_call()
Отладка с await:
async def process_items(): await pdb.set_trace_async() items = [await fetch_item(i) for i in range(10)] # Можно выполнять await