2016-04-04 27 views
0

我正在运行一个python脚本。在这个脚本中,我输入的功能从另一个模块,如:Python:我可以在导入的函数中设置pdb.set_trace()

from preprocessing import train_batch 

train_batch函数被调用在我运行该脚本。现在要查看train_batch的更多详细信息,我找到preprocessing.py并在train_batch中插入pdb.set_trace(),preprocessing.py,但它不起作用。

所以我想问:我可以在导入的模块中使用pdb.set_trace()吗?如果可以的话,那么这意味着我找到的模块是错误的,我需要找到合适的地方。如果我不能,那么有没有什么好方法可以检查导入的函数?

回答

2

您可以在Python代码*中的任何位置执行import pdb; pdb.set_trace()。如果它“不起作用”,我假设你的意思是你从来没有投入pdb。这意味着这行代码没有被执行。

您可以在pdb中使用's'命令进入代码,即使它不是您自己的代码。只要它是Python而不是C代码,你应该没问题。我不确定C代码会发生什么。

  • 除了lambda。但一般情况下,任何地方
+0

非常感谢您的回答! – gladys0313

0

是的。 pdb.set_trace()只是一个函数调用;你可以把它放在任何你可以放任何其他函数调用的地方。

+0

感谢您的回答 – gladys0313

相关问题