当前位置: 首页 > news >正文

VScode的debug

如果有命令行参数的话:

  1. 打开调试配置
  • 在 VS Code 中,按下Ctrl + Shift + D打开调试面板。
  • 点击面板顶部的齿轮图标,选择“添加配置…” (Add Configuration...)。
  1. 创建新的调试配置
  • 选择Python,然后选择Python File当前文件(Current File) 作为基础配置。
  • 这会在工作区文件夹下创建一个.vscode文件夹,并在其中创建launch.json文件。
  1. 修改launch.json文件
  • 找到刚才添加的配置项,你会看到类似以下的内容:
{"name":"Python: 当前文件","type":"python","request":"launch","program":"${file}","console":"integratedTerminal"}
  • 在这个配置下,添加"args"字段来传递命令行参数。例如,如果你的脚本需要一个文件路径作为参数,你可以这样设置:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Debug models_lx.py",
            "type": "python",
            "request": "launch",
            "program": "/mnt/data-zoo/cv_data/lx/huggingpaddle/models_lx.py",
            "console": "integratedTerminal",
            "args": ["/mnt/data-zoo/cv_data/lx/param_deeplabv3r50.json"]
        }
    ]
}

  • 如果有多个参数,可以将它们按顺序添加到args列表中:
{"name":"Python: 当前文件","type":"python","request":"launch","program":"${file}","console":"integratedTerminal","args":["arg1","arg2","--option","value"]}
  1. 启动调试
  • 保存launch.json文件。
  • 回到 VS Code 中的调试面板,选择刚才创建的配置,然后点击绿色的播放按钮(或者按F5)启动调试。
    这样就可以在 VS Code 中使用你设置的命令行参数调试 Python 代码了。

在这里插入图片描述

那几个step into之类的,在页面上方。


顺便一些基础知识:

Step Into (进入)

  • 作用:进入当前代码行调用的函数或方法。

  • 用法:如果在调试时,当前代码行包含一个函数调用,使用“step into”会进入该函数的内部,然后继续逐行调试。这个操作允许你查看函数内部的执行情况。

  • 使用场景:当你想要深入查看函数内部的执行流程时,使用“step into”。
    Step Over (步过)

  • 作用:执行当前代码行,如果该行包含函数调用,则整个函数作为一个单元被执行,但不会进入函数内部。

  • 用法:调试器会执行当前行的代码,然后停在下一行。如果当前行包含一个函数调用,函数会被完整执行,但调试器不会进入函数内部。

  • 使用场景:当你不需要查看函数的内部细节,只想验证当前函数的返回值或执行效果时,使用“step over”。
    Step Out (跳出)

  • 作用:运行当前函数中的剩余代码并返回到调用该函数的地方。

  • 用法:如果你已经进入了一个函数内部,使用“step out”会运行完当前函数的所有剩余代码,然后将调试器控制权返回给调用该函数的位置。

  • 使用场景:当你在函数内部调试时,发现不需要再查看函数的其余部分,或者已经找到问题的原因,可以使用“step out”跳出函数。

相关文章:

  • AUTOSAR与arxml的文档解析
  • 【Ratis】ratis-grpc支持零拷贝系列之引入ZeroCopyMessageMarshaller工具类
  • 【6】组合计数学习笔记
  • 2.FastAPI 中的路由与路径操作
  • Python中的字典:深度解析与应用实践
  • 破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程
  • 数据驱动进化:AI Agent如何重构手机交互范式?
  • CUDAOpenCV Hessain矩阵计算
  • 虚拟电商-延迟任务系统的微服务改造(二)
  • Linux内核Netfilter使用实战案例分析
  • 利用labelme进行图片标注
  • Redis BitMap 用户签到
  • numpy学习笔记12:实现数组的归一化(0-1范围)
  • 力扣 797. 所有可能的路径 解析JS、Java、python、Go、c++
  • 第2章:容器核心原理:深入理解Namespace、Cgroup与联合文件系统
  • 自动化测试框架pytest+requests+allure
  • Lambda 表达式的语法:
  • 【STL】string类用法介绍及部分接口的模拟实现
  • SpringBoot整合LangChain4j操作AI大模型实战详解
  • 自研实时内核稳定性问题 - I2C总线 - UAF内存异常问题
  • 新买宝马竟是“维修车”,男子发视频维权被4S店索赔100万
  • 新华每日电讯:给“男性妇科病论文”开一剂复方药
  • 上海如何为街镇营商环境赋能?送政策、配资源、解难题、强活力
  • 加力、攻坚、借力、问效,上海为优化营商环境推出增量举措
  • 现场|万米云端,遇见上博
  • 是谁提议特朗普向好莱坞征税?