все Python 3pdbфункция
pdb.runcall()
запуск под отладчиком
Вызывает функцию с аргументами под отладчиком: остановка на первой строке её тела, возврат — её результат.
Синтаксис
pdb.runcall(function, *args, **kwds)
Передаётся сама функция и её аргументы отдельно — runcall(f, 3, 4), а не runcall(f(3, 4)): во втором случае f выполнится до отладчика, и он получит уже готовое число. Остановка — внутри функции, а не на строке вызова, так что аргументы сразу видны командой args (a).
Примеры
import io, sys, pdb
def area(w, h):
return w * h
sys.stdin = io.StringIO('a\nc\n')
sys.stdout = log = io.StringIO()
result = pdb.runcall(area, 3, h=4)
sys.stdout = sys.__stdout__
print(result) # → 12
print(log.getvalue().split('(Pdb) ')[1].split()) # → ['w', '=', '3', 'h', '=', '4']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности