在VSCode中调试Python程序

在VSCode中调试Python程序
程序员老姐姐在VSCode中调试Python程序
1.条件与环境
1.1 前提条件
VSCode
中已安装扩展Python
【点击直达】和Python Debugger
【点击直达】
1.2 本文运行环境
平台/软件 | 版本 |
---|---|
操作系统 | Windows 10 企业版 22H2 19045.4046 64位 |
VSCode | 1.98.2 |
Python | 3.12.3 |
2.步骤
2.1 创建launch.json
依次点击【Run and Debug
】-【create a launch.json file
】-【Python File
】:
会自动创建并打开launch.json
:
Tips: 如果调试的是简单Python程序,只需要按下【F5】即可,无需创建launch.json
;但大多数情况下都需要通过launch.json
来设置启动参数、环境变量等。
2.2 配置launch.json
launch.json
为每个项目独有的,位于项目目录的.vscode
目录下;
可点击右下方【Add Configuration…
】添加配置,比如【justMyCode
】是否仅调试自己的代码、【args
】启动参数:
常用配置:
参数 | 说明 |
---|---|
name | 在调试启动配置下拉列表中显示的易于阅读的名称 |
type | 调试器类型,比如node、php、go |
request | 调试模式,当前仅支持launch(和程序一起启动)或attach(程序已启动、附加到程序上) |
program | 启动调试器时运行的可执行文件或文件 |
cwd | 当前工作目录(用于查找依赖项和其他文件) |
args | 启动调试器时的参数 |
env | 环境变量 |
envFile | .env 文件路径 |
port | 调试器端口 |
justMyCode | 是否仅调试自己的代码(设置为false时包括非用户代码、如库代码,导入的模块代码等) |
stopOnEntry | 程序启动后立即退出 |
console | 控制台类型,比如internalConsole、integratedTerminal、externalTerminal |
注意坑点:args的配置值和运行时可能会有所不同,比如运行命令是python .\client.py ../weather/main.py
,而调试时需配置参数为"args": ["../weather/main.py"]
,因为调试client.py
时会自动将其作为参数加上。
如果配置成"args": ["client.py", "../weather/main.py"]
,则调试时会发现多了1个client.py
:
只有配置成"args": ["../weather/main.py"]
才是正确的:
所有可配置的参数详见官方文档【点击直达】
2.3 添加/删除断点
在代码行号前点击添加断点、再次点击则删除断点:
2.4 调试
打开要调试的Python代码,点击运行图标、选择【Python Debugger: Debug using launch.json
】-【Python Debugger: Current File
】:
也可在【Run and Debug
】窗口点击调试配置文件(快捷键【F5
】)开始调试:
调试界面: