注意:为了快速解释这一点,我将从在Spyder工作的角度谈论这个问题。
如果在我的代码中调用了a函数,我可以在它调用的位置旁边放置一个断点,然后当我的代码到达那一点时,我可以单击“Step into function ..”按钮来查看此函数内部发生的情况。
假设我处于某个任意断点,并希望看到在我的代码中不存在的函数内部发生了什么。有没有办法通过pdb控制台调用此函数并“步入”所述函数调用?
你可以使用ipdb
。把ipdb.set_trace()
放在你想要调试的地方。然后按s
进入该功能。
你试过功能装饰器吗? (也许读一下)
def foo():
print 'Hello pdb'
def add_breakpoint(func):
def func_wrapper(*args, **kwargs):
pdb.set_trace()
return func(*args, **kwargs)
return func_wrapper
foo = add_breakpoint(foo)
这将在您的调试中添加一些调用,但它将完成工作。希望听到是否有效!