vscode中的python-debugger的使用
Visual Studio Code 的主要功能之一是其强大的调试支持。VS Code 的内置调试器有助于加速编辑、编译和调试循环。
一、 安装python-debugger插件
在插件库内搜索python Debugger,安装插件
三、 进行debug(不带参数的)
(1)创建debug_learning.py测试文件
def add_fun(a, b): a = a * 10 b = b * 100 c = a + b return cif __name__ == '__main__': a = 10 b = 78 c = add_fun(a, b) c = c print(f"a + b = {c}")
(2)设置断点
(2)启动debug模式
(3)debug的各个按钮的介绍
三、 进行debug(带有参数的)
开始调试
以下文档基于内置的 Node.js 调试器,但大多数概念和功能也适用于其他调试器。
在阅读有关调试的信息之前,首先创建一个示例Node.js应用程序会很有帮助。您可以按照Node.js演练安装Node.js并创建一个简单的“Hello World”JavaScript 应用程序 ()。设置简单的应用程序后,此页面将引导你了解 VS Code 调试功能。app.js
“运行和调试”视图
若要显示“运行和调试”视图,请在 VS Code 一侧的活动栏中选择“运行和调试”图标。您还可以使用键盘快捷键 Ctrl+Shift+D。
“运行和调试”视图显示与运行和调试相关的所有信息,并具有包含调试命令和配置设置的顶部栏。
如果尚未配置运行和调试(尚未创建),则 VS Code 将显示“运行启动”视图。launch.json
启动配置
若要在 VS Code 中运行或调试简单应用,请在“调试”开始视图上选择“运行并调试”,或按 F5,VS Code 将尝试运行当前活动文件。
但是,对于大多数调试方案,创建启动配置文件是有益的,因为它允许配置和保存调试设置详细信息。VS Code 将调试配置信息保留在位于工作区(项目根文件夹)或用户设置或工作区设置中的文件夹中的文件中。launch.json.vscode
若要创建文件,请单击“运行开始”视图中的“创建launch.json文件”链接。launch.json
vscode 将尝试自动检测调试环境,但如果失败,则必须手动选择它:
下面是为 Node.js 调试生成的启动配置:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python 调试程序: 包含参数的当前文件", "type": "debugpy", "request": "launch", "program": "${file}", "console": "integratedTerminal", "args": "${command:pickArgs}" } ]}
在深度学习的项目中,想要对train.py进行配置,下面是命令行
python train.py -batch 64 -dataset cifar_fs -gpu 1 -extra_dir your_run -temperature_attn 5.0 -lamb 0.5
按照上面的格式转化为下面文件
{ "version": "0.2.0", "configurations": [ { "name": "Python: Train with Args", "type": "python", "request": "launch", "program": "/root/autodl-tmp/renet-main/train.py", "console": "integratedTerminal", "args": [ "-batch", "64", "-dataset", "cifar_fs", "-gpu", "1", "-extra_dir", "your_run", "-temperature_attn", "5.0", "-lamb", "0.5" ], "env": { "PYTHONUNBUFFERED": "1" } } ]}
这里是配置解释:
“name”: “Python: Train with Args”: 这是您的调试配置名称,您可以在调试启动配置下拉菜单中找到它。
“type”: “python”: 指定了使用Python调试器。
“request”: “launch”: 表示启动一个新的调试会话。
“program”: " w o r k s p a c e F o l d e r / t r a i n . p y " : 指定要调试的 P y t h o n 脚本, {workspaceFolder}/train.py": 指定要调试的Python脚本, workspaceFolder/train.py":指定要调试的Python脚本,{workspaceFolder}是当前VS Code工作区目录的占位符,假设train.py位于工作区的根目录下。
“console”: “integratedTerminal”: 调试输出将显示在VS Code的集成终端中。
“args”: 包含您想要传递给train.py脚本的命令行参数列表。
“env”: {“PYTHONUNBUFFERED”: “1”}: 设置环境变量PYTHONUNBUFFERED为1,这样做可以让Python的输出在终端中实时显示,而不是被缓冲。
确保您的train.py和其他相关文件位于VS Code当前的工作区目录中。调整"program"字段的路径,如果您的train.py文件位于不同的位置。此配置允许您通过集成终端直接以指定的参数运行和调试train.py。
如果有多个程序需要调试的话
可以进行如下的设置:
{ "version": "0.2.0", "configurations": [ { "name": "调试1", "type": "debugpy", "request": "launch", "program": "/root/autodl-tmp/renet-main/train.py", "console": "integratedTerminal", "args": [ "-batch", "64", "-dataset", "cifar_fs", "-gpu", "1", "-extra_dir", "your_run", "-temperature_attn", "5.0", "-lamb", "0.5" ], "env": { "PYTHONUNBUFFERED": "1" } }, { "name": "调试2", "type": "debugpy", "request": "launch", "program": "/root/autodl-tmp/renet-main/train.py", "console": "integratedTerminal", "args": [ "-batch", "64", "-dataset", "cifar_fs", "-gpu", "1", "-extra_dir", "your_run", "-temperature_attn", "5.0", "-lamb", "0.5" ], "env": { "PYTHONUNBUFFERED": "1" } } ]}
至此,vscode-python debug 的基础教学到此完毕.