如何使用pdb.set_trace()跳过循环
例如,
pdb.set_trace()
for i in range(5):
print(i)
print('Done!')pdb会在循环之前进行提示。我输入了一个命令。返回所有1-5个值,然后在print('Done!')执行之前,我希望再次使用pdb进行提示。
发布于 2012-03-26 00:08:59
尝试使用until语句。
转到循环的最后一行(使用next或n),然后使用until或unt。这将把你带到下一行,就在循环之后。
http://www.doughellmann.com/PyMOTW/pdb/有一个很好的解释
发布于 2011-10-08 14:46:34
您应该在循环之后设置一个断点("break main.py:4“假设上面的行在一个名为main.py的文件中),然后继续("c")。
发布于 2020-04-11 10:21:44
在accepted (https://pymotw.com/3/pdb/)中提到的链接中,我发现这一部分更有帮助:
若要让执行运行到特定行,请将行号传递给until命令。
下面是一个如何工作的示例re: loops:



它为您省去了两件事:必须创建额外的断点,以及必须导航到循环的末尾(特别是当您可能已经进行了迭代,如果不重新运行调试器就无法导航的时候)。
这是until上的Python文档。顺便说一句,我使用pdb++作为标准调试器的插件(因此进行了格式化),但是until在这两个调试器中的工作方式是相同的。
https://stackoverflow.com/questions/6731119
复制相似问题