如何调试已作为参数传递给另一个函数的函数
How to debug a function that has been passed as an argument to another function
我是 Python 的新手,习惯了在 R 中进行调试。我正在尝试调试 my_function 当它作为参数传递给另一个函数时
df.apply(my_function, axis=1)
当我使用调试器(我在 Spyder V5 中)时,我可以跳转到应用函数(“down”或“crtl + f11”),但我似乎无法导航到 my_function 当它作为参数被调用时。
在 R 中,我会将 browser() 添加到 my_function 并从那里开始,但是当我尝试添加 ipdb.set_trace() 时,我认为这是等效的,我的控制台挂起而没有任何选项供应输入。
我需要在这种情况下检查它,因为当它作为 arg 传递给特定函数而不是其他函数时会中断(它实际上在示例函数“pd.apply”中有效)。
您可以通过双击行号在Spyder 中添加断点。然后你可以 运行 使用调试选项的代码或 Ctrl+F5
.
- 为了移动到下一个断点:继续或
Ctrl+F12
。
- 移动到下一行:步骤或
Ctrl+F10
- 沿着函数执行移动:Step Into 或
Ctrl+F11
我是 Python 的新手,习惯了在 R 中进行调试。我正在尝试调试 my_function 当它作为参数传递给另一个函数时
df.apply(my_function, axis=1)
当我使用调试器(我在 Spyder V5 中)时,我可以跳转到应用函数(“down”或“crtl + f11”),但我似乎无法导航到 my_function 当它作为参数被调用时。
在 R 中,我会将 browser() 添加到 my_function 并从那里开始,但是当我尝试添加 ipdb.set_trace() 时,我认为这是等效的,我的控制台挂起而没有任何选项供应输入。
我需要在这种情况下检查它,因为当它作为 arg 传递给特定函数而不是其他函数时会中断(它实际上在示例函数“pd.apply”中有效)。
您可以通过双击行号在Spyder 中添加断点。然后你可以 运行 使用调试选项的代码或 Ctrl+F5
.
- 为了移动到下一个断点:继续或
Ctrl+F12
。 - 移动到下一行:步骤或
Ctrl+F10
- 沿着函数执行移动:Step Into 或
Ctrl+F11