Step into:单步执行(一行一行代码执行),如果遇到子函数,就会进入子函数,并且继续单步执行。就是每一行需要执行的代码都不跳过,一行一行进行。
Step over:在单步执行的时候,如果遇到子函数,并不会进入子函数,而是把子函数当做一整步执行完成,从而继续执行函数调用位置下的代码。
Step out:当单步执行到子函数内时,用Step out就可以执行完子函数余下部分,并返回到上一层函数。
需要注意的是,若在接下来的代码中还存在断点时,Step over 和 Step out 不会跳过断点,也就是断点位置一定会“断”。
示例:
代码如下
def add(a ,b):
c = a + b
return c
def divide(a ,b):
d = a / b
return d
def debug_study():
i = 10
j = 5
Sum = add(i, j)
Divided = divide(i, j)
print(Sum, Divided)
if __name__ == '__main__':
debug_study()
如图,使用PyCharm,分别在第2、14、16行添加断点。
点击下边所示的这个小爬虫,开始调试。
下面是开启Debug之后分别连续使用Step into, Step over, Step out时,调试器每次停留的位置
Step into:14 2 3 14 15 7 8 15 16 20 end
Step over:14 2 3 14 15 16 20 end
Step out:14 2 14 16 20 end