func(a(), b.c)
При выполнении строки выше в pdb отладчике, с помощью step
на самом деле ступит в a
, и затем в метод считывания для b.c
если его нетипичное (такой как являющийся a property
), перед фактическим продвижением в func
.
Обычно я использую step
сопровождаемый r
для возврата из кадров, я не интересуюсь, и часто необъяснимо передайте и упустите возможность к step
непосредственно в func
.
Как я ступаю непосредственно в func
, или какая последовательность команд отладчика гарантирует, что я заканчиваю в func
вместо того, чтобы передавать по нему?
tb func
("временный перерыв на func"), за которым следует c
("продолжить"), должен работать.
Я бы справился с этим, установив break на номер строки внутри func, которая вас интересует, а затем использовал continue. Например, если ваш код выглядит так:
110 def func(a1, a2):
111 "" docstring ""
112 first interesting line
тогда сделайте следующее:
python -m pdb caller.py
pdb> b 112
pdb> c