Python Glossary English

все Python 3pdbпонятие

pdb.Pdb

запуск под отладчиком

Класс отладчика pdb. Свой экземпляр нужен, чтобы задать ввод и вывод команд, пропуск модулей или бэкенд.

Синтаксис

pdb.Pdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=False, readrc=True)

Команды не обязаны идти с клавиатуры: stdin=io.StringIO('n\np x\nc\n') прогоняет сценарий без человека, а stdout собирает ответы. По умолчанию readrc=True — читаются ~/.pdbrc и .pdbrc текущего каталога, и забытый там файл исполняет команды молча; для воспроизводимости ставьте readrc=False. skip=['json.*'] не даёт заходить в кадры указанных модулей.

Примеры

import io, pdb
def area(w, h):
    s = w * h
    return s
out = io.StringIO()
dbg = pdb.Pdb(stdin=io.StringIO('n\np s\nc\n'), stdout=out, readrc=False, nosigint=True)
print(dbg.runcall(area, 3, 4))  # → 12
print(out.getvalue().split('(Pdb) ')[2].strip())  # → 12 — ответ на команду p s

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности