我自己做了一些探索,这是我对的新理解pdb
。
输入时import ipdb;ipdb.set_trace()
,实际上是ipdb
向该行添加一个入口点,而不是一个断点。
输入后ipdb
,您可以设置断点。
因此,要实现我想要的条件调试,我应该这样做:
import ipdb;ipdb.set_trace()
for i in range(100):
print i
再后,我进入ipdb
,我可以输入b xx, i == 10
,再c
或者r
运行代码。满足条件时,代码将停止。
当我输入时l
,bpnumber
该行显示为:
xx-1 for i in range(100):
bpnumber> xx print i
xx+1 ...
我不得不说,文档和所有其他解释都非常混乱,我希望我的回答在此阐明“调试入口点”和“调试断点”之间的区别