以下内容部分参考自出处(作者:海洋饼干叔叔)
参考链接: Visual Studio Code中对Python程序进行断点调试/Debug
参考链接: 试论调试艺术:再探Step Into/Step Over/Step Out方法
代码:test.py
s0 = '林祖泉0'
s1 = '林祖泉1'
s2 = '林祖泉2'
ls0 = [s0]
ls1 = [s0,s1]
ls2 = [s0,s1,s2]
print(ls0)
print(ls1)
print(ls2)
tup = (ls0,"aaa")
print(tup)
ls0.append("林麻子")
print(ls0)
print(tup)
添加断点,点击行号左侧即可添加,再次点击就可以取消.注意:程序自动停在断点处,即断点所在行的代码不执行.
点击屏幕菜单栏的Run,点击Start Debugging,或者直接敲键盘的F5键,然后点击Python File,即可调试,步骤如下图所示:
调试界面如下,程序在断点处暂停,点击continue图标可继续执行,或者直接按F5继续执行:
将鼠标移动到变量名上,会自动显示该变量的信息,如下所示:
也可以在左边栏查看变量的相关信息,如下图所示:
展开可查看详细信息,包括变量的类型,如下图所示
程序全部执行完后的结果,如下图所示:
屏幕上方的工具栏:
从左到右依次是:Continue(F5)、Step Over(F10)、Step Into(F11)、Step Out(Shift+F11)、Restart(Ctrl+Shift+F5)、Stop(Shift+F5)
Step into:单步执行,遇到子函数就进入并且继续单步执行。
Step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,
而是将子函数整个执行完再停止,也就是把子函数整个作为一步。
Step out:当单步执行到子函数内时,
用step out就可以执行完子函数余下部分,
并返回到上一层函数。
可以使用代码尝试这些功能:
names = ['Peter Anderson', 'Frank Bush', 'Tom Henry','Jack Lee', 'Dorothy Henry']
sName = "NOTFOUND"
for x in names:
if x.endswith("Henry"):
sName = x
break
print(x, "not ends with 'Henry'.")
print("I found a Henry:", sName)
总结:
向下的箭头Step Into(F11)可以逐行进行执行,即:单步前进,包括进入循环,不断地迭代重复每一步循环,因此可以用它来学习break语句的作用.
Visual Studio Code的调试工具栏内,还有Step Out, Step Over等按钮。不同于Step Into(单步前进), Step Out, Step Over用于在调试过程中避免过分深入函数或者循环内部。
参考链接: Visual Studio Code中对Python程序进行断点调试/Debug
参考链接: 试论调试艺术:再探Step Into/Step Over/Step Out方法