【AIGC】基础篇:VS Code 配置 Python 命令行参数调试debug超详细教程
文章目录
- 前言
- 一、安装必要的扩展
- 二、安装 debugpy
- 三、创建 launch.json 配置文件
- 四、配置调试环境
- 五、开始调试
- 六、命令行调试
- 七、远程调试
- 八、调试技巧
- 九、常见问题及解决方法
前言
在 Python 开发过程中,调试是必不可少的环节。VS Code 提供了强大的调试功能,可以帮助开发者轻松地进行代码调试。今天,就让我们一起学习如何在 VS Code 中配置 Python 的命令行调试,即使是小白也能轻松上手。
一、安装必要的扩展
在开始之前,确保你已经安装了 VS Code 的 Python 扩展和 Python 调试器扩展。这两个扩展是进行 Python 调试的基础。
二、安装 debugpy
在命令行中运行以下命令来安装 debugpy:
python -m pip install --upgrade debugpy
这个命令会将 debugpy 安装到你的 Python 环境中,它是 VS Code 进行 Python 调试的核心工具。
三、创建 launch.json 配置文件
launch.json 文件是 VS Code 调试的核心配置文件,它定义了调试会话的行为。按照以下步骤创建 launch.json 文件:
- 打开 VS Code,选择侧边栏的 “运行”视图。
- 如果你还没有配置文件,会看到一个 “运行和调试” 按钮和一个创建配置文件的链接。
- 点击 “创建 launch.json 文件” 链接,或者使用 “运行” > “打开配置” 菜单命令。
- 选择 “Python 调试器”,然后在弹出的菜单中选择 “Python 文件”。
VS Code 会自动为你生成一个包含基本配置的 launch.json 文件,内容大致如下:
{"version": "0.2.0","configurations": [{"name": "Python: Current File","type": "python","request": "launch","program": "${file}","console": "integratedTerminal"}]
}
这个配置表示调试当前打开的 Python 文件,并在 VS Code 的集成终端中运行。
四、配置调试环境
在 launch.json 文件中,你可以根据需要进行一些自定义配置。以下是一些常用的配置选项:
- name:调试配置的名称,显示在 VS Code 的调试菜单中。
- type:调试器类型,对于 Python 调试,这里应该是
python
或debugpy
。 - request:调试请求类型,
launch
表示启动调试,attach
表示附加到已运行的进程。 - program:要调试的 Python 程序的入口文件路径。
- console:指定调试时使用的终端类型,
integratedTerminal
表示 VS Code 的集成终端。
在 launch.json
文件中,你可以通过 args 属性添加命令行参数。以下是一个示例配置:
{"version": "0.2.0","configurations": [{"name": "Python: Debug with Args","type": "python","request": "launch","program": "${workspaceFolder}/versions.py","args": ["excel","D:\\work\\表250421.xlsx","--column","0","--sheet","Sheet1"],"console": "integratedTerminal"}]
}
在这个配置中,args 属性用于传递命令行参数
`python versions.py excel "D:\work\表250421.xlsx" --column 0 --sheet Sheet1`
你可以根据需要修改这些参数。
五、开始调试
完成配置后,就可以开始调试了。点击 VS Code 顶部菜单的 “运行” > “开始调试”,或者直接按下 F5 键。VS Code 会根据 launch.json 文件中的配置启动调试器,并在集成终端中运行你的 Python 程序。
六、命令行调试
如果你更喜欢在命令行中启动调试,也可以使用以下命令:
python -m debugpy --listen 5678 ./myscript.py
这个命令会启动一个监听端口 5678 的调试服务器。然后,你可以在 VS Code 中使用以下配置连接到调试服务器:
{"name": "Python: Attach","type": "debugpy","request": "attach","connect": {"host": "localhost","port": 5678}
}
七、远程调试
如果你需要调试运行在远程服务器上的 Python 程序,可以通过 SSH 隧道实现远程调试。以下是一个简单的示例:
- 在远程服务器上,运行以下命令启动调试服务器:
python -m debugpy --listen 0.0.0.0:5678 ./myscript.py
- 在本地机器上,创建一个 SSH 隧道:
ssh -2 -L 5678:localhost:5678 user@remote-server
- 在 VS Code 中,使用以下配置连接到远程调试服务器:
{"name": "Python: Remote Attach","type": "debugpy","request": "attach","connect": {"host": "localhost","port": 5678} }
八、调试技巧
- 设置断点:在代码中点击行号旁边的空白区域,可以设置断点。当程序运行到断点时,会自动暂停,你可以查看变量的值、修改变量、单步执行等。
- 查看变量:在调试过程中,你可以将鼠标悬停在变量上,或者在调试控制台中输入变量名,查看变量的值。
- 单步执行:使用调试工具栏中的按钮,可以单步执行代码,逐行查看程序的执行过程。
九、常见问题及解决方法
- 调试器无法连接:确保调试服务器正在运行,并且端口号正确。如果使用 SSH 隧道,检查隧道是否正确建立。
- 程序无法启动:检查 launch.json 文件中的配置是否正确,特别是
program
和console
的设置。 - 断点未命中:确保代码与运行的程序一致,并且调试器已正确连接。