一、介绍
在编写Python代码时,我们难免会遇到一些bug,这时我们需要调试器来帮助我们找到问题。Python自带了pdb模块,但它的使用并不太方便,而debugpy则是一款轻量级的Python调试器,它具有快速、易用等特点。
在本篇文章中,我们将介绍如何使用debugpy进行Python调试,包括在本地和远程进行调试,以及如何使用VSCode的调试功能。
二、本地调试
1. 安装debugpy
首先,我们需要安装debugpy模块,可以使用pip进行安装。
pip install debugpy
2. 在代码中插入断点
在需要进行调试的代码中插入断点,可以使用debugpy的breakpoint()函数来实现。
import debugpy debugpy.breakpoint() # 在此处插入断点
3. 启动debugpy调试器
通过在命令行中运行debugpy调试器来启动调试。
python -m debugpy --listen localhost:5678 your_script.py
其中your_script.py为需要调试的Python文件。该命令会启动debugpy调试器,并等待连接。可以使用--wait-for-client选项来等待调试客户端的连接。
4. 连接调试器
在VSCode中打开一个Python文件,然后打开调试视图,在左侧的调试菜单中选择“添加配置”,选择Python(调试器),然后将配置文件修改为:
{ "name": "Python: Remote Attach", "type": "python", "request": "attach", "connect": { "host": "localhost", "port": 5678 }, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ] }
其中,host和port分别为启动debugpy时指定的地址和端口号。
5. 启动调试器
点击调试界面的启动按钮,即可连接到debugpy调试器并开始调试。
三、远程调试
1. 进入远程环境
在远程环境中需要安装debugpy模块,然后在代码中插入断点。
2. 启动debugpy调试器
在远程环境中启动debugpy调试器,并将--listen选项设置为0.0.0.0:5678,以便外部连接。
python -m debugpy --listen 0.0.0.0:5678 your_script.py
3. 配置SSH
在本地电脑上,我们需要使用SSH连接到远程环境。可以使用OpenSSH或PuTTY。
在OpenSSH中,可以使用以下命令:
ssh -R 5678:localhost:5678 user@remote-host
其中,5678为需要转发的端口号,user为远程环境的用户名,remote-host为远程环境的主机名或IP地址。
4. 连接调试器
在VSCode中打开一个Python文件,然后打开调试视图,在左侧的调试菜单中选择“添加配置”,选择Python(调试器),然后将配置文件修改为:
{ "name": "Python: Remote Attach", "type": "python", "request": "attach", "port": 5678, "host": "localhost", "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ] }
其中,host和port分别为连接到远程环境的SSH地址和端口号。
5. 启动调试器
点击调试界面的启动按钮,即可连接到远程环境的debugpy调试器并开始调试。
四、在VSCode中使用调试功能
在VSCode中,可以使用内置的调试功能调试Python代码,同样可以使用debugpy进行调试。
1. 配置启动项
首先,需要在VSCode的启动项中添加调试配置。点击VSCode的调试视图中的“添加配置”,然后选择Python。
下面是一个使用debugpy的调试配置:
{ "name": "Python: Debug with Debugpy", "type": "python", "request": "attach", "port": 5678, "host": "localhost", "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ] }
2. 插入断点
在Python代码中插入调试断点。
3. 启动调试器
点击调试视图中的启动按钮,即可连接到debugpy调试器并开始调试。
五、总结
debugpy是一款轻量级的Python调试器,支持本地和远程调试,易于使用。我们可以在通过命令行启动debugpy调试器后,在VSCode中连接调试器,进行Python代码的调试。通过这篇文章的介绍,希望大家对debugpy的使用有更深入的了解。