如何使用 VS Code 调试 Python 代码

本教程将讨论使用 VS Code 调试 Python 代码所需的步骤。首先我们需要安装扩展、分析工具和调试器。

然后,我们将创建一个示例应用程序。最后,我们将探索如何使用断点和条件断点。

凭借这套技能,您将能够更好地理解应用程序在代码执行的特定点上的值和状态。

1. 创建示例应用程序

我们将使用两个示例来调试我们的 Python 代码:

我们将编写一个函数,编写测试,并了解如何在 VS Code 中调试测试。
这是第一个例子的源代码。创建一个文件 hello.py:

1
nano hello.py

用 NumPy 库实现向量点积(dot product)计算的简单示例程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import numpy as np

def vector_dot(v1, v2):
"v1 and v2 should be both numpy array"
print("Calculating two random num's vactor dot")
sum = 0
for e1, e2 in zip(v1, v2):
sum += e1 * e2
return sum

if __name__ == "__main__":
v1 = np.random.rand(10)
v2 = np.random.rand(10)
sum = vector_dot(v1, v2)
print(sum)

你可以使用以下命令运行该应用程序:

1
2
3

python hello.py

它将产生以下输出:

1
2
3
4

$ python hello.py
Calculating two random num's vactor dot
2.396733694948434

2. 使用断点进行调试

要开始调试,我们需要创建一个配置。单击 VS Code 左侧窗格上的调试图标。接下来,单击齿轮图标以创建配置。

vsCode调试和设置

然后选择Python

vscode调试和设置 - 选择调试器

在创建debug配置有多种调试类型可以选。可以根据python项目的类型创建不同的debug模板,在本案例中我们选择python file就可以满足我们的需求了,它是用来单步调试单个文件的执行的。

vscode调试和设置 - 选择调试配置模板

之后会在当前项目.vscode/launch.json位置自动生成一个python debug 配置模板, 内容如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
  • 为什么称之为调试配置模板?在这段 VS Code 的 Python 调试配置中, 这里的 ${file} 是一个变量(占位符),表示:当前在 VS Code 编辑器中“正在打开并处于活动状态的文件的完整路径”。
  • 当你点击“运行/调试”时,VS Code 会把 ${file} 替换成当前正在编辑的 .py 文件路径,然后用 Python 去执行这个文件。

接下来我们需要添加一个断点,因为这就是调试的全部内容。

让我们通过单击行号左侧在第 6 行添加一个断点。在那里,您将看到一个红点。

Visual Studio Code 设置断点

接下来,按下来切换到debug视图或单击“Start Debugging”按钮或是使用F5快捷键开始debug, 启动debug后程序为暂停在断点位置,相应的debug工具将会展现。

Visual Studio Code 调试视图

多次单击调试工具栏Step Over上的按钮。

调试工具栏中的“Step Over”图标

调试器最终将移动到第 9 行。

调试器移至第 9 行

左侧的调试视图部分将为我们展现当前断点位置的状态。

显示断点状态的调试部分

我们可以在变量视图看到当前时间变量的状态。

我们还可以看到调用堆栈,此刻正在运行的函数是该vector_dot函数,第 9 行。

这里只做简单的debug演示,更多debug技巧这里不详细展开,可以自行探索。

3. 结论

调试是软件开发的重要部分,借助 VS Code 等工具,我们的生活可以变得更加轻松。

我们已将调试器添加到示例项目中以解释概念,但您可以随意将调试器添加到任何现有项目中并试用它。您最终将减少Print用于记录日志的语句,以便在执行期间查看代码在给定点的值或状态。

4. 参考文档

使用VS Code调试Python程序

如何使用 VS Code 调试 Python 代码

https://pengtech.net/python/vscode-debug-python.html

作者

鹏叔

发布于

2026-04-27

更新于

2026-04-28

许可协议

评论