pdb/ipdb调试:使用step进入函数后如何快速退出?
在pdb/ipdb中退出当前进入的函数
嘿,这个调试场景我简直天天碰到!刚好能给你说清楚:
有没有直接退出当前函数的命令?当然有!
当你用step(或简写s)钻进函数内部后,直接敲return(可以简写为r)命令就行。这个命令会让调试器直接跑完当前函数的剩余代码,直到函数执行完毕返回,然后自动停在调用这个函数的下一行代码,完美跳过函数里剩下的所有步骤,这就是最快的退出方式了。举个直观的例子
比如你有这段代码:def calculate_sum(a, b): print("进入calculate_sum函数") temp = a * 2 # 假设这里你不想一步步走了 result = temp + b return result total = calculate_sum(3, 5) print(f"结果是:{total}")当你用
s进入calculate_sum,停在print那一行时,敲r,调试器会直接执行完整个函数,然后停在print(f"结果是:{total}")这一行,完全不用再一步步next或者step了。别搞混其他命令哦
很多人会把return和continue(简写c)搞混:c是直接继续执行整个程序,直到遇到下一个断点或者程序结束;而r只针对当前函数,退出后会回到调用处继续调试,这才是我们要的“退出当前函数”的效果。另外还有until(简写u)命令,它可以运行到当前函数的末尾,效果和r类似,但r更直接明确,专门用于函数返回场景。
内容的提问来源于stack exchange,提问作者Kludge
相关产品推荐
相关产品推荐

