【发布时间】:2022-01-09 13:06:51
【问题描述】:
我是 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 还可以让用户设置断点。或者考虑使用VSCode+调试模式。
-
我遇到了断点被忽略的问题,但我意识到它们仅在调试(“ctrl + f5”)运行时中断,而不是在正常运行时中断。这让我很困惑,因为在 R 中,当我想用“browser()”中断时,我只是正常运行该函数。如果我知道一种从脚本中间的特定点开始调试的方法,而不是从顶部开始。如果你做一个,我会接受你的回答。谢谢!