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

问题描述

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

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

解决方法

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

conditional breakpoint image

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

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

所示解决方案适用于单行条件可能不切实际和/或需要在外部实现 loop counter 的情况。由于断点条件是程序化的,您可以实现它以定期中断,或根据您要应用的任何系列/频率标准进行中断。

自定义条件将在您想要的确切迭代处中断,在您完成“步骤调试”后,要么按恢复、停止、“运行到光标”,要么禁用断点右键单击它(实际上这会得到你出圈了)。

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

,

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...