func(a(), b.c)
在pdb调试器中执行上面的行时,使用step
实际上会进入a
,然后进入b.c
的getter,如果它是非典型的(例如是property
1}}),在实际进入func
之前。
一般情况下,我发现自己使用step
后跟r
从我不感兴趣的帧中返回,并且经常莫名其妙地错过并错过step
直接进入{func
的机会{1}}。
如何直接进入func
,或者什么样的调试器命令序列将保证我最终进入func
而不是通过它?
答案 0 :(得分:2)
tb func
(“暂时中断func”)后跟c
(“继续”)应该有效。
答案 1 :(得分:0)
我会通过在您感兴趣的func中的行号设置中断来处理此问题,然后使用continue。例如,假设您的代码如下所示:
110 def func(a1, a2):
111 "" docstring ""
112 first interesting line
然后这样做:
python -m pdb caller.py
pdb> b 112
pdb> c