vscode-python的debug 教学(最全)

vscode中的python-debugger的使用

Visual Studio Code 的主要功能之一是其强大的调试支持。VS Code 的内置调试器有助于加速编辑、编译和调试循环。
vscode-python的debug 教学(最全)_第1张图片

一、 安装python-debugger插件

在插件库内搜索python Debugger,安装插件
vscode-python的debug 教学(最全)_第2张图片

三、 进行debug(不带参数的)

(1)创建debug_learning.py测试文件


def add_fun(a, b):
    a = a * 10
    b = b * 100
    c = a + b
    return c

if __name__ == '__main__':
    a = 10
    b = 78
    c = add_fun(a, b)
    c = c
    print(f"a + b = {c}")

(2)设置断点
vscode-python的debug 教学(最全)_第3张图片
(2)启动debug模式
vscode-python的debug 教学(最全)_第4张图片
(3)debug的各个按钮的介绍
vscode-python的debug 教学(最全)_第5张图片

三、 进行debug(带有参数的)

开始调试

以下文档基于内置的 Node.js 调试器,但大多数概念和功能也适用于其他调试器。

在阅读有关调试的信息之前,首先创建一个示例Node.js应用程序会很有帮助。您可以按照Node.js演练安装Node.js并创建一个简单的“Hello World”JavaScript 应用程序 ()。设置简单的应用程序后,此页面将引导你了解 VS Code 调试功能。app.js
“运行和调试”视图
若要显示“运行和调试”视图,请在 VS Code 一侧的活动栏中选择“运行和调试”图标。您还可以使用键盘快捷键 Ctrl+Shift+D。
vscode-python的debug 教学(最全)_第6张图片

“运行和调试”视图显示与运行和调试相关的所有信息,并具有包含调试命令和配置设置的顶部栏。

如果尚未配置运行和调试(尚未创建),则 VS Code 将显示“运行启动”视图。launch.json
vscode-python的debug 教学(最全)_第7张图片

启动配置

若要在 VS Code 中运行或调试简单应用,请在“调试”开始视图上选择“运行并调试”,或按 F5,VS Code 将尝试运行当前活动文件。
但是,对于大多数调试方案,创建启动配置文件是有益的,因为它允许配置和保存调试设置详细信息。VS Code 将调试配置信息保留在位于工作区(项目根文件夹)或用户设置或工作区设置中的文件夹中的文件中。launch.json.vscode
若要创建文件,请单击“运行开始”视图中的“创建launch.json文件”链接。launch.json
vscode-python的debug 教学(最全)_第8张图片
vscode 将尝试自动检测调试环境,但如果失败,则必须手动选择它:
vscode-python的debug 教学(最全)_第9张图片
下面是为 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 教学(最全)_第10张图片
至此,vscode-python debug 的基础教学到此完毕.

你可能感兴趣的:(Ai基础知识学习,vscode,python,ide)