在交互式Python调试会话中跳过指令

3
我想知道在交互式调试会话中是否有可能跳过某个指令。假设我正在调试以下代码:
action_1()
time.sleep(60)
action_2()

如果我在action_1(),我将不得不等待一分钟才能到达action_2()。我希望有一种方法可以告诉调试器跳过下一个指令而不执行它。
我尝试在Google上搜索,但没有找到有用的内容。
可能会想出快速而粗略的解决方法,比如注释掉睡眠指令,或者用if语句包装它,但它们是繁琐和容易出错的。我正在寻找更优雅的解决方案。
1个回答

4

我相信你想要使用PDB中的Jump命令:

j(ump) lineno

设置将要执行的下一行。仅在最底层的帧中可用。这使您可以跳回并重新执行代码,或向前跳过不想运行的代码。

应该注意的是,并非所有跳转都被允许 - 例如,不能跳入for循环的中间或跳出finally子句。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接