如何使用vscode的launch.json来debug调试

1、创建一个launch.json文件

在这里插入图片描述

在这里插入图片描述

选择Python Debugger,再选择Python文件,创建处理如下
在这里插入图片描述
默认有下面五个参数

    "name": "Python Debugger: Current File",
    "type": "debugpy",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal"

修改“program”路径:使用“workspaceFolder”
在这里插入图片描述
开启调试:
在这里插入图片描述
调试结果:

在这里插入图片描述

一些复杂的调试可能会如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Experiment Runner",
            //"type": "debugpy",
            "type": "python",
            "request": "launch",
            //"program": "${file}",
            "program": "${workspaceFolder}/driving/configs/_base_/models/B_efficientnetlite_H_roadclsdecoder.py",
            "console": "integratedTerminal",

            // new
            "cwd":"${workspaceFolder}",

            // 如果是false的话就会进到别的子程序里面,为了调试的直观,
            // 设置true比较好, true就是调试的范围都是你写的代码
            "justMyCode":true,  

            // 环境
            "env":{"CUDA_VISILBE_DEVICES":"0",
            // 开启断言assert
            "TORCH_USE_CUDA_DSA":"ON"},
            
            // 训练参数细节
            "args": [
                       "--task_name", "CoLA", 
                       "--do_train", "true",
                       "--do_eval", "true",
                       "--data_dir", "glue_data/CoLA",
                       "--vocab_file", "uncased_L-2_H-128_A-2/vocab.txt",
                       "--bert_config_file", "uncased_L-2_H-128_A-2/bert_config.json", 
                       "--init_checkpoint", "uncased_L-2_H-128_A-2/bert_model.ckpt", 
                       "--max_seq_length", "128" ,
                       "--train_batch_size", "32",
                       "--learning_rate", "2e-5" ,
                       "--num_train_epochs", "3.0" ,
                       "--output_dir", "tmp/CoLA_output"
                    ]      
        }
    ]
}
<think>嗯,用户想了解如何在VS Code中配置Pythonlaunch.json文件。首先,我需要回忆一下VS Code的调试配置流程。记得在Python项目中,调试通常需要配置一个launch.json文件,这个文件告诉VS Code如何启动调试器。 首先,用户可能需要知道在哪里创建这个文件。应该是在.vscode文件夹下,如果没有的话,可能需要手动创建或者通过VS Code自动生成。然后,用户可能想知道不同的配置选项,比如Python文件调试、模块调试、附加到进程等等。 接下来,我得考虑常用的配置类型。比如,调试当前文件、使用模块启动(比如Flask或Django)、远程调试或者单元测试。每个配置有不同的参数,比如"program"、"module"、"args"等。需要详细说明每个参数的作用,以及可能的例子。 用户可能还需要了解一些高级配置,比如环境变量、cwd的设置,或者如何传递命令行参数。此外,特殊情况的处理,比如Django的调试配置,可能需要特别的环境变量如DJANGO_SETTINGS_MODULE。 还要注意提醒用户正确安装Python扩展,否则配置可能无法生效。另外,路径的问题,比如使用${workspaceFolder}和${file}这些变量来确保路径正确。 最后,需要给出一个完整的示例,涵盖几种常见的调试场景,并解释每个部分的作用,这样用户可以直接参考并修改自己的launch.json。同时,要强调根据项目需求调整配置,比如不同的框架可能需要不同的设置。</think>以下是一个详细的 `launch.json` 配置示例及说明,适用于在 VS Code 中调试 Python 项目: ### 1. 创建基础配置 1. 打开项目根目录 2. 进入调试界面 (`Ctrl+Shift+D` 或点击左侧甲虫图标) 3. 点击 "create a launch.json file" -> 选择 "Python" ### 2. 完整示例配置 ```json { "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true, "env": { "PYTHONPATH": "${workspaceFolder}" } }, { "name": "Python: 模块启动", "type": "python", "request": "launch", "module": "flask", "args": ["run", "--port", "5000"], "env": { "FLASK_APP": "app.py", "FLASK_DEBUG": "1" } }, { "name": "Python: 附加进程", "type": "python", "request": "attach", "port": 5678, "host": "localhost" }, { "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["runserver"], "django": true, "env": { "DJANGO_SETTINGS_MODULE": "myproject.settings" } }, { "name": "Python: 单元测试", "type": "python", "request": "launch", "purpose": ["debug-test"], "console": "integratedTerminal" } ] } ``` ### 3. 关键参数解析 #### 基础参数 - `"name"`: 配置项显示名称 - `"type"`: 固定为 `python` - `"request"`: `launch`(新启动)或 `attach`(附加到现有进程) #### 路径配置 - `"program"`: - `${file}` 当前打开文件 - `${workspaceFolder}/main.py` 指定具体文件 - `"cwd"`: 设置工作目录(默认 `${workspaceFolder}`) #### 特殊配置 - `"module"`: 用于模块启动(如 `flask`/`django`) - `"args"`: 传递命令行参数 - `"env"`: 设置环境变量 - `"justMyCode"`: 是否跳过库代码调试 ### 4. 调试场景说明 1. **普通脚本调试** 使用 `Python: 当前文件` 配置,自动识别当前打开文件 2. **Web 框架调试** Flask/Django 使用模块启动方式,需设置对应的环境变量 3. **远程调试** 使用 `attach` 模式,需配合 `debugpy` 模块: ```python import debugpy debugpy.listen(5678) debugpy.wait_for_client() ``` 4. **单元测试调试** 配合 VS Code 的测试资源管理器使用 ### 5. 注意事项 1. 确保已安装官方 Python 扩展(ms-python.python) 2. 复杂项目建议设置 `"PYTHONPATH"` 3. 使用 `"console": "externalTerminal"` 可启用独立终端 4. 调试多进程程序需添加 `"subProcess": true` 建议根据实际项目需求调整配置,可通过调试界面顶部的下拉菜单快速切换不同配置模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BILLY BILLY

你的奖励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值