如何使pdb set_trace成为第一个断点

时间:2016-09-12 16:53:11

标签: python pdb

我的代码中有两个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的所有调用,直到找到我想要的那个?

1 个答案:

答案 0 :(得分:0)

您无需修改​​代码(通过添加对pdb.set_trace()的调用)以便使用pdb进行调试(这样做的建议似乎总是误导我)。 This question是此方法可能导致问题的另一个例子。

如果您对某个版本的代码调用pdb而没有调用pdb.set_trace()并使用pdb' break命令在任何地方设置断点否则已添加对pdb.set_trace()的调用,当您不再希望断点生效时,可以使用pdb' disable命令。