VSCode优雅的使用debug

原始用法:(这里不使用)

配置launch.json,里面传入参数然后debug,这里我们通常需要传入的参数比较多,而且经常修改参数,直接去修改launch.json会比较麻烦,所以使用sh脚本比较方便。

bash 复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "image_demo.py",
            "type": "debugpy",
            "request": "launch",
            "program": "demo/image_demo.py",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": [
                "demo/demo.jpg",
                "my_configs/mobilenetv2_8xb24-ms-416-300e_coco.py",
                "--weight","checkpoints/yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth",
                "--out-dir","outputs"  
            ]
        }
    ]
}

(优雅的用法)直接使用sh文件命令运行debug

1. 安装

  1. 安装包 pip install debugpy -U
  2. 安装vscode关于python的相关插件

2. 创建sh文件

文件内容如下:train.sh

bash 复制代码
python tools/train.py my_configs/ssdlite_mobilenetv2-scratch_8xb24-600e_coco.py

修改文件权限,变成可运行的文件。

bash 复制代码
chmod +x train.sh

3. 在python代码里面(最前面加上这句话)

bash 复制代码
import debugpy
try:
    # 5678 is the default attach port in the VS Code debug configurations. Unless a host and port are specified, host defaults to 127.0.0.1
    debugpy.listen(("localhost", 9501))
    print("Waiting for debugger attach")
    debugpy.wait_for_client()
except Exception as e:
    pass

4. 在vscode的launch.json的configuration里面,加上这个配置

bash 复制代码
{
            "name": "sh_file_debug",
            "type": "debugpy",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 9501
            }
        },

🚨 上面的端口号都写一样。别搞错了。

5. 运行sh脚本

例如 ./train.sh

这里我们会看到Waiting for debugger attach,这时候我点击下面图片中左上角的运行按钮,对应我们上面"name": "sh_file_debug",这个的名称,这样就进入Debug,我们要传入的参数都在sh脚本里面,然后就愉快的代码调试。

相关推荐
qq_189807032 分钟前
Go语言怎么连接Elasticsearch_Go语言Elasticsearch教程【收藏】
jvm·数据库·python
橙露3 分钟前
Python 操作 MongoDB:非关系型数据查询与分析
开发语言·python·mongodb
小魏小魏我们去那里呀5 分钟前
Java2Flowchart:一款把 Java 方法一键转换成 Mermaid 流程图的 IntelliJ 插件
java·ide·intellij-idea
小江的记录本7 分钟前
【RAG】RAG检索增强生成(核心架构、全流程、RAG优化方案、常见问题与解决方案)
java·前端·人工智能·后端·python·机器学习·架构
迷藏49410 分钟前
**TiDB 在高并发场景下的性能优化实战:从慢查询到极致吞吐的跃迁**在现代分布式系统中,数据库不仅是数据存储的
java·数据库·python·性能优化·tidb
m0_6784854511 分钟前
如何自动同步SQL异构表数据_利用触发器实现实时数据复制
jvm·数据库·python
ZC跨境爬虫17 分钟前
海南大学交友平台登录页开发实战day6(覆写接口+Flask 本地链接正常访问)
前端·后端·python·flask·html
Shorasul19 分钟前
如何防御SQL注入的SQL畸形查询_利用语法分析器检测
jvm·数据库·python
WHS-_-202223 分钟前
Pycharm 使用经验
ide·python·pycharm
Highcharts.js28 分钟前
抉择之巅:从2029年回望2026年——企业可视化“战略分水岭”?
前端·javascript·信息可视化·编辑器·echarts·highcharts