1. Step Over(F8)
- 在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在不存在子函数的情况下是和Step Into(F7)效果一样的(简而言之,越过子函数,但子函数会执行)。
- 测试代码:
在tt函数中 第一行代码 打断点进行测试。分别演示 子函数 是否存在时候两种情况。def a1(): print('aaa') print('bbb') def tt(): print(1) print(2) print(3) print(4) a1() print(5) print(6) tt()
2. Step Into(F7)
- 单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数)。
- 测试代码和上面例子中的代码一样。
3. Step Into My Code(Alt+Shift+F7)
- 单步执行, 进入自己编写的函数,不进入内建函数。
- 测试代码:
import multiprocessing def a1(): print('aaa') print('bbb') def tt(): print(1) print(2) print(3) print(4) a1() print(5) t1 = multiprocessing.Process(target=a1) t1.start() t1.join() print(6) tt()
- 在tt函数中 第一行代码 打断点进行测试。先按F7进入到 内建函数里。然后再进行Step Into My Code 调试。
4. Step Out(Shift+F8)
- 当单步执行到子函数内时,用Step Out就可以执行完子函数余下部分,并返回到上一层函数。
- 测试代码:
def a1(): print('aaa') print('bbb') print('ccc') def tt(): print(1) print(2) print(3) print(4) a1() print(5) print(6) tt()
- 按Step Into(F7)进入到 a1函数里,然后 再按 Step Out 把整个 a1 函数执行完,返回tt函数中。
5. Run to Cursor(Alt+F9)
- 一直执行,到断点处停止,用在循环内部时,点击一次就执行一个循环。
- 测试代码:
i = 0 while i < 100: print(i) i += 1
- print(i) 这里打 断点,每点击 Run to Cursor 按钮一次,循环体就执行一次。