1. 前言
本文学习在VSCode中配置Python Debug的方法,备忘。
2. 配置调试
2.1. 创建 launch.json
1、点击VSCode左侧带虫子的三角形,进入RUN AND DEBUG页面
2、点击 create a launch.json file
,选择 Python Debugger
2.2. 打开 launch.json
1、点击VSCode左侧带虫子的三角形,进入RUN AND DEBUG页面
2、点击齿轮,打开 launch.json
文件
或者,直接在项目中打开 .vscode/launch.json
文件
2.3. 配置 launch.json
假设程序启动命令为 python startup.py "write a cli snake game"
,那么配置如下:
1 | { |
假设每个脚本都能直接运行 python xxx.py
,那么配置如下:
1 | { |
注意:justMyCode
要配置为 false
,否则第三方库没法打断点。
3. 切换Python解释器
1、点击 command+shift+P
,打开快捷配置。
2、输入 Python: Select Interpreter
,选择当前代码需要的解释器版本。
注意:如果是使用pyenv安装的python环境,请选择带有版本的路径,例如 ~/.pyenv/versions/3.9.7/bin/python
;不要选择当前在用python的路径 ~/.pyenv/shims/python
,否则会找不到pip安装的包。
4. 启动调试
1、在代码中打断点
2、点击VSCode左侧带虫子的三角形,进入RUN AND DEBUG页面
3、点击齿轮左边的三角形,即可进入调试
5. VSCode调试Python原理
VSCode的Python调试基于调试适配协议(Debug Adapter Protocol,简称 DAP)。VSCode内置了一个调试适配器(Debug Adapter),这个调试适配器是DAP的实现,用于与应用程序或语言运行时进行交互,从而提供调试的功能。
以下是VSCode进行Python调试的基本原理:
1、用户在VSCode中启动Python程序的调试。
2、VSCode的调试模块启动调试适配器,调试适配器是一个单独的进程,启动时VSCode会向适配器传递一个配置对象,这个配置对象包含了用户在launch.json中定义的配置信息。
3、调试适配器接收到配置信息后,进行相应的处理,并启动Python解释器,Python解释器开始在调试模式下运行用户的Python程序。在调试模式下,Python解释器会启动一个调试服务器,等待调试适配器的连接。
4、调试适配器连接到Python解释器启动的调试服务器,之后调试适配器与Python解释器通过socket进行通信,实现对程序的调试控制。
5、VSCode通过调试适配器来控制Python程序的运行过程,例如设置/清除断点,启动/停止,步入/步出等操作。同时,如果程序运行到了断点,或者有异常抛出,调试适配器会从Python解释器接收到相应的信息,并处理这些信息(例如显示在VSCode的调试控制台),让用户知道程序的运行状态。
通过这种方式,VSCode实现了对Python程序的调试功能,让用户可以方便地检查和调试代码。