Python: 我可以在导入函数中设置 pdb.set_trace()
Python: Can I set pdb.set_trace() in imported function
我是运行一个python脚本。在此脚本中,我从另一个模块导入一个函数,例如:
from preprocessing import train_batch
我是 运行 的脚本中调用了 train_batch
函数。现在要更详细地检查 train_batch
,我找到 preprocessing.py
并在 preprocessing.py
中的 train_batch
中插入 pdb.set_trace()
,但它不起作用。
所以我想问一下:我可以在导入的模块中使用pdb.set_trace()
吗?如果可以,那么这一定意味着我找到的模块是错误的,我需要找到正确的位置。如果我不能,那么有什么好的方法可以在必要时检查导入的函数吗?
是的。 pdb.set_trace()
只是一个函数调用;您可以将它放在任何可以调用其他函数的地方。
您可以在 Python 代码中的任何地方执行 import pdb; pdb.set_trace()
*。如果它 "doesn't work" 我假设你的意思是你从未进入过 pdb。这意味着该行代码没有被执行。
您可以使用 pdb 中的 's' 命令单步执行代码,即使它不是您自己的。只要它是 Python 而不是 C 代码,就应该没问题。我不确定 C 代码会发生什么。
- 除了在 lambda 中。但总的来说,任何地方
我是运行一个python脚本。在此脚本中,我从另一个模块导入一个函数,例如:
from preprocessing import train_batch
我是 运行 的脚本中调用了 train_batch
函数。现在要更详细地检查 train_batch
,我找到 preprocessing.py
并在 preprocessing.py
中的 train_batch
中插入 pdb.set_trace()
,但它不起作用。
所以我想问一下:我可以在导入的模块中使用pdb.set_trace()
吗?如果可以,那么这一定意味着我找到的模块是错误的,我需要找到正确的位置。如果我不能,那么有什么好的方法可以在必要时检查导入的函数吗?
是的。 pdb.set_trace()
只是一个函数调用;您可以将它放在任何可以调用其他函数的地方。
您可以在 Python 代码中的任何地方执行 import pdb; pdb.set_trace()
*。如果它 "doesn't work" 我假设你的意思是你从未进入过 pdb。这意味着该行代码没有被执行。
您可以使用 pdb 中的 's' 命令单步执行代码,即使它不是您自己的。只要它是 Python 而不是 C 代码,就应该没问题。我不确定 C 代码会发生什么。
- 除了在 lambda 中。但总的来说,任何地方