起源
今天在调爬虫bug的时候发现的一个小技巧。由于那个bug处于循环内部,下完断点按F9按的手指有点木了就跑去Google了一下,发现pdb有个命令是可以给断点加条件的。
在PyCharm的Help里搜索 Condition 。
PyCharm Help
Select this check box and specify a condition for hitting a breakpoint in the text field.
选中此复选框,并指定一个断点处的条件。
A condition is a Boolean expression.
这条件是一个布尔表达式。
This expression should be valid at the line where the breakpoint is set, and is evaluated every time the breakpoint is reached. If the evaluation result is true, user-selected actions are performed.
此表达式会在断点所在的行有效,并在每次到达断点时执行。如果执行结果为真,则执行用户选择的动作(断住)。
If evaluation result is true, user-selected actions are performed.
如果执行结果为真,则执行用户选择的动作。(它帮助里把这一句又给重复了一遍 =。=#)
If the result is false, the breakpoint does not produce any effect. If the Debugger cannot evaluate the expression, it displays the Condition evaluation error message. You can select whether you would like to stop at this breakpoint or ignore it.
如果结果为假,则断点不产生任何影响。如果调试器无法执行该表达式,则会显示状态执行错误信息。您可以选择是否要停止此断点或忽略它。
总结
每次换语言和IDE的时候一定要先把Debug相关的文档先看完再动手。。。。