2016-09-12 30 views
0

我在我的代码的两个位置有pdb.set_trace()。问题是,当我想让它在特定的地方开始时,我在第二个区域获得了多个停靠点。这里有一个例子:如何使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'set_trace()之前,我在'function'中获得了100个调用。有没有办法指定第一个set_trace()或忽略所有对set_trace的调用,直到找到我想要的?

+0

你有没有一个有条件的'if'块来调用set_trace? – karthikr

回答

0

您不需要修改您的代码(通过添加对pdb.set_trace()的调用),以便用pdb进行调试(建议做这件事似乎一直被误导)。 This question是此方法可能导致的问题的另一个示例。

如果你在一个版本的代码,没有电话调用pdbpdb.set_trace()和使用pdb当你没有的break命令来设置断点的地方,否则你可能已经添加来电pdb.set_trace(),您可以使用pdbdisable命令更希望断点生效。

相关问题