调试程序时,经常需要一行一行地看代码是怎么运行的,这时候“单步执行”就派上用场了。它能让你逐行运行代码,观察每一步的变化,特别适合排查问题。
什么是单步执行
单步执行,顾名思义,就是让程序一次只执行一条语句。比如你写了个循环,变量一直在变,光看结果可能搞不清哪一步出错了。用单步执行,可以一步一步看变量值、函数调用和逻辑走向,就像放慢动作回放一样。
在常见开发环境中如何开启
如果你用的是 Visual Studio Code(简称 VS Code),开启单步执行其实挺简单。先装好对应语言的调试插件,比如 Python 就装 Python 扩展。然后在代码左边的行号上点一下,设个断点——那个红点就是断点。
接着打开调试面板,选择运行配置,点“启动调试”。程序运行到断点就会停下来。这时候你会看到几个控制按钮,其中有个带向下箭头的小图标,写着“单步执行”或“Step Over”,点它就能一行一行往下走。
如果是用 PyCharm 或 IntelliJ IDEA,操作也差不多。打断点,启动调试模式,运行到断点后,顶部工具栏会出现“F8”对应的单步执行按钮。按 F8 键或者点那个箭头图标就行。
在浏览器里调试 JavaScript 也很常用。打开开发者工具(F12),切换到 Sources 页,找到你的 JS 文件,点行号设断点。刷新页面,代码运行到这里会暂停,右边有单步执行的按钮,分别是:
- Step over:跳过函数,只执行当前行
- Step into:进入函数内部
- Step out:跳出当前函数
通过快捷键快速操作
熟练之后,基本都靠快捷键。比如在大多数 IDE 中:
F10:Step Over(单步跳过)
F11:Step Into(单步进入)
Shift + F11:Step Out(跳出函数)
Chrome 开发者工具也类似,F10 是跳过,F11 是进入。记住了这几个键,调试效率能快不少。
一个小例子
假设你有段代码算总和,但结果总是不对:
total = 0
for i in range(5):
total += i * 2
print(total)
你在 total += i * 2 这一行打上断点,启动调试,按 F10 一步步走,看着 total 和 i 的值变化,很快就能发现是不是乘法出问题,还是循环次数不对。
单步执行不是高手专属,新手用来理解代码流程也特别有用。刚开始可能觉得慢,用多了你会发现,它比反复打印 print 快得多。