Шаг в вызов подпрограммы, но не вызовы для параметров - PullRequest
1 голос
/ 17 июля 2010
func(a(), b.c)

При выполнении строки выше в отладчике pdb, использование step фактически перейдет в a, а затем в геттер на b.c, если его нетипично (например, property),прежде чем фактически войти в func.

Как правило, я использую step с последующим r, чтобы вернуться из кадров, которые мне не интересны, и часто необъяснимым образом пропускаю и упускаю возможность step непосредственно в func.

Как мне перейти непосредственно к func, или какая последовательность команд отладчика будет гарантировать, что я попаду в func вместо того, чтобы проходить через него?

Ответы [ 2 ]

2 голосов
/ 17 июля 2010

tb func («временный перерыв в функции»), за которым следует c («продолжить»), должно работать.

0 голосов
/ 17 июля 2010

Я бы справился с этим, установив разрыв в номере строки внутри интересующего вас func, а затем использовал бы continue. Например, предположим, что ваш код выглядит следующим образом:

110  def func(a1, a2):
111      "" docstring ""
112      first interesting line

затем сделайте это:

python -m pdb caller.py
pdb> b 112
pdb> c
...