标签: python debugging ipython
我正处于ipython会话的中间。我加载了一个包含函数foo的模块foo.bar。在工作时,我注意到foo.bar在我输入一些输入x时会给出一些奇怪的输出,其中x是我本地ipython范围内的变量。我想调查调试器中的行为。
foo
foo.bar
x
如何在foo.bar设置断点并在调试器中运行foo.bar(x)?
foo.bar(x)
我知道pdb.set_trace(),但是需要我打开foo模块的代码来手动插入断点,保存它,在ipython中重新加载模块等等。是一个更好的方式。
pdb.set_trace()
答案 0 :(得分:5)
我相信在这种情况下您可以使用pdb.runcall:
pdb.runcall
import pdb pdb.runcall(foo.bar, x)