考虑一个简单的例子
def g(x):
return x
def tracer(frame, event, arg):
import pdb
pdb.set_trace()
print("\nthis is global") # didn't stop here
print(frame, event, arg)
sys.settrace(tracer)
g(2)
我想在跟踪功能中停止内部,以便我可以调试它,但是它似乎不起作用。我知道这是因为pdb也使用sys.settrace
,所以它们可能会发生冲突。
问题是,如何调试跟踪功能?我们可以使用pdb还是有其他选择?