python pdb:进入从控制台调用的函数

And*_*dyP 5 python python-2.7 spyder pdb

注意:为了快速解释这一点,我将从 Spyder 工作的角度来讨论这一点。

如果在我的代码中调用 a 函数,我可以在调用它的位置旁边放置一个断点,然后当我的代码到达该点时,我可以单击“Step into function..”按钮来查看该函数内部发生了什么。

假设我处于某个任意断点,并且想要查看不在我的代码中的函数内部发生的情况。有什么方法可以通过 pdb 控制台调用此函数并“步入”所述函数调用吗?

Mud*_*its 5

您可以使用ipdb。放在ipdb.set_trace()你想调试的地方。然后按s进入该功能。


小智 -2

你尝试过函数装饰器吗?(也许读过相关内容)

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)
Run Code Online (Sandbox Code Playgroud)

这将在您的调试中添加一些调用,但它会完成工作。希望听到是否有效!