进入子程序调用,但不调用参数调用

时间:2010-07-17 03:50:53

标签: python debugging pdb

func(a(), b.c)

在pdb调试器中执行上面的行时,使用step实际上会进入a,然后进入b.c的getter,如果它是非典型的(例如是property 1}}),在实际进入func之前。

一般情况下,我发现自己使用step后跟r从我不感兴趣的帧中返回,并且经常莫名其妙地错过并错过step直接进入{func的机会{1}}。

如何直接进入func,或者什么样的调试器命令序列将保证我最终进入func而不是通过它?

2 个答案:

答案 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