2011-04-12 65 views
4

我处于ipython会话的中间。我已经加载了一个模块foo,其中包含一个功能foo.bar。在工作时,我注意到foo.bar给我一些奇怪的输出,当我喂它一些输入x,其中x是我的本地ipython范围内的变量。我想调查调试器中的行为。将Ipython名称空间传输到ipdb

我该如何设置一个断点foo.bar并在调试器中运行foo.bar(x)

我知道的关于pdb.set_trace(),但它需要我打开foo模块的代码手动插入一个断点,保存它,重新加载模块在ipython等等。必须有更好的方法。

回答

5

我相信你能在这种情况下使用pdb.runcall

import pdb 
pdb.runcall(foo.bar, x) 
相关问题