背景
- 微软的vscode代码开发工具使用者越来越多,笔者本人很早就开始基于vscode开发,无论是python还是C++,很早就放弃了专用的IDE工具
- 开发代码肯定需要调试代码,IDE在这块可能会更强,vsode整体可能不及IDE,但平时一般也足够使用,要想方便调试,工具(插件)必须要用对,这样才能事半功倍
- 平时的工作中,无论是自己写的python代码工程,还是开源的代码,一般都会提供运行脚本,shell脚本中会把参数或者环境变量设置好,如train.sh、val.sh等shell脚本,这种方法极大方便了用户,但很多用户却不知道怎么调试,一堆的启动参数该怎么设置?vscode中的launch.json中当然也可以配置,但实在是太麻烦了,并且每个项目都配一次,也不利于管理
- 如果能够不去配置这些参数,能直接利用现有的shell脚本直接启动,那该多方便,好在有现成的方法可用
- 如果我们想调试简单的python脚本,vscode也很简单,此处就不再赘述。本文主要说明如何直接将shell脚本作为入口来调试
依赖
- 基础的python依赖,请大家自己查找资料安装即可
- 本文核心依赖只有一个:debugpy ,安装也很简单
-
pip3 install debugpy
配置
shell脚本配置
一个常规的shell脚本如下所示
#!/usr/bin/env bash
export CUDA_VISIBLE_DEVICES=1
CONFIG=projects/config.py
OUTPUT_DIR=/data/deeplearning/debug_test
RUN_CMD="python3"
cmd="${RUN_CMD} tools/train.py $CONFIG \
--work-dir $OUTPUT_DIR