我的代码中有两个pdb.set_trace()。问题是,当我希望它在特定的某个地方启动时,我会在第二个区域中获得多个停靠点。这是一个例子:
def function():
#some code in here
pdb.set_trace()
#some more code
def main():
#some code
function()
#come more code
function()
#the code I care about
pdb.set_trace()
function()
这里的问题是它会在实际到达我想要的实际set_trace之前停止执行两次,然后才能在main中停止然后再运行。
这不是什么大不了的事,但在实际环境中,我会在“功能”内部接到100个电话。在进入' main'之前set_trace()。有没有办法指定第一个set_trace()或忽略对set_trace的所有调用,直到找到我想要的那个?
答案 0 :(得分:0)
您无需修改代码(通过添加对pdb.set_trace()
的调用)以便使用pdb
进行调试(这样做的建议似乎总是误导我)。 This question是此方法可能导致问题的另一个例子。
如果您对某个版本的代码调用pdb
而没有调用pdb.set_trace()
并使用pdb
' break
命令在任何地方设置断点否则已添加对pdb.set_trace()
的调用,当您不再希望断点生效时,可以使用pdb
' disable
命令。