在pdb/ipdb中是否可能跳过断点?

12
有没有一种方法可以告诉pdb或ipdb跳过所有未来的断点,就像它们不存在一样,直到程序执行完毕?

可能是https://dev59.com/pmMm5IYBdhLWcg3wKsgj的重复问题。我不确定,所以不投票关闭。 - Jean-François Fabre
那个“重复”的内容完全不相关。 - KansaiRobot
2个回答

7
也许你可以尝试使用“清除”功能。
来自帮助页面:
(Pdb) help clear
cl(ear) filename:lineno
cl(ear) [bpnumber [bpnumber...]]
With a space separated list of breakpoint numbers, clear
those breakpoints.  Without argument, clear all breaks (but
first ask confirmation).  With a filename:lineno argument,
clear all breaks at that line in that file.

Note that the argument is different from previous versions of
the debugger (in python distributions 1.5.1 and before) where
a linenumber was used instead of either filename:lineno or
breakpoint numbers.

还有一个主题讨论了你的问题:如何退出pdb并允许程序继续运行?


3
如果你想保留你的断点而不是清除它们,但又不希望程序到达那些断点,你可以使用`pdb`的`disable`命令。我没有看到一种方便的方法来简洁地禁用所有的断点,但你可以在`disable`命令中列出它们的数字。你也可以有选择地禁用一些断点并保留其他断点的启用状态。你可以使用`pdb`的`enable`命令撤销`disable`命令的效果。使用没有参数的`break`命令(或者只用`b`)可以显示每个断点是否启用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接