Step into, Step over, Step out区别

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行添加断点。
Step into, Step over, Step out区别_第1张图片
点击下边所示的这个小爬虫,开始调试。
在这里插入图片描述
Step into, Step over, Step out区别_第2张图片

下面是开启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

你可能感兴趣的:(杂七杂八,调试器)