如何使用 跳过循环pdb.set_trace()
?
例如,
pdb.set_trace()
for i in range(5):
print(i)
print('Done!')
pdb
循环前的提示。我输入一个命令。返回所有 1-5 个值,然后我想在执行pdb
之前再次提示。print('Done!')
试试这个until
说法。
转到循环的最后一行(使用next
or n
),然后使用until
or unt
。这将带你到下一行,就在循环之后。
您应该在循环之后设置一个断点(“break main.py:4”假设上述行位于名为 main.py 的文件中),然后继续(“c”)。
在接受的答案(https://pymotw.com/3/pdb/)提到的链接中,我发现本节更有帮助:
要让执行一直运行到特定行,请将行号传递给 until 命令。
这是一个如何工作的示例:循环:
它使您免于两件事:必须创建额外的断点,并且必须导航到循环的末尾(尤其是当您可能已经迭代,以至于如果不重新运行调试器就无法完成)。
您可以在循环之后设置另一个断点并使用以下命令跳转到它(调试时)c
:
pdb.set_trace()
for i in range(5):
print(i)
pdb.set_trace()
print('Done!')
If I understood this correctly.
One possible way of doing this would be:
Once you get you pdb
prompt . Just hit n
(next) 10 times to exit the loop.
However, I am not aware of a way to exit a loop in pdb
.
You could use r
to exit a function though.