如何在 Python 调试器 (PyCharm) 中执行 n 个步骤(迭代)?

How to take n steps (iterations) in Python debugger (PyCharm)?

我的 Python 调试器中有一个断点。我正在使用 PyCharm。我想迭代 100 次以达到我想要调试的程度。

现在我可以按 100 x 次 Resume Program,但是有没有办法只在断点处执行命令 运行 n 次。

PyCharm 提供了在特定断点上添加条件的可能性。
此功能称为 Conditional Breakpoints,您可以找到文档 here.

我认为这就是您要找的,因为这样您就可以仅在特定条件下启用断点。

您可以在条件断点中使用函数来计算迭代次数,例如:

条件断点可以调用一个函数,该函数除了返回一个布尔值外,还计算循环迭代次数。

def your_counter(stop):
    global count
    count = count + 1
    if stop == count:
        # count = 0 for periodic break
        return True
    else:
        return False

显示的解决方案适用于单线条件可能不切实际的情况,and/or 需要在外部实施 loop counter 时。由于断点条件是程序化的,您可以实现它以定期中断,或根据您要应用的任何 series/frequency 条件中断。

自定义条件会在您想要的精确迭代处中断,在您完成“逐步调试”后,可以按恢复、停止、“运行 光标”,或者右键单击它禁用断点(实际上这会让你脱离循环)。

您还可以通过在“变量监视”中进行编辑,在调试过程中更改任何变量的值。