我想知道在交互式调试会话中是否可以跳过指令。假设我正在调试以下代码
action_1()
time.sleep(60)
action_2()
如果我在action_1()
,我将需要等待一分钟才能到达action_2()
。我想要的是告诉调试器跳过下一条指令而不执行它的方法。
我尝试在谷歌上查找,但没有任何有用的东西出现。
有可能提出快速而肮脏的解决方法,例如注释掉睡眠指令,或用if语句包装它,但它们很麻烦且容易出错。我正在寻找更优雅的解决方案。
答案 0 :(得分:4)
我相信你想要PDB中的Jump command:
j(ump)lineno
设置将要执行的下一行。仅适用于 最底层的框架。这使您可以跳回并再次执行代码,或 跳转到跳过你不想运行的代码。
应该注意的是,不是所有的跳跃都是允许的 - 例如它 不可能跳到for循环的中间或者跳出最后的循环 子句。