忽略前 N 次命中的 pycharm 断点



我试图忽略 pycharm 中的特定断点,因为它命中了前 N 次。 由于我希望将其设置为 10k 之类的内容,因此手动执行此操作不是一种选择。 我找到了断点的扩展选项,包括condition字段,但我不确定如何制定一个考虑到断点被命中多少次的条件。 谢谢。

您可以在 Python 中专门为断点计数目的创建一个变量,每次经过断点行时都会递增该变量。然后只需在断点条件中使用该变量(即breakpoint_count == 10000(。

更新

如果无法将新代码添加到真正的 python 代码中,则可以使用断点条件:

eval("exec('try:\n x += 1\nexcept NameError:\n x = 1') or x == 10000")

这样做是执行一个 try 语句,该语句递增变量或在变量不存在时创建它。然后评估它以及一个语句,检查变量是否已增加足够多的次数,这是您的结束条件。注意,运行try需要exec,但需要eval将条件"返回"给PyCharm。这是荒谬的黑客,但它适用于您的情况!

最新更新