VScode 配置 debug环境

首先请阅读官方文档

Debug python

  • 在vscode 中安装好对应的python 插件
    在这里插入图片描述

运行程序不存在输入参数的时候

  • 当运行python脚本不存在输入参数的时候,可以使用右上角的直接开始debug
    在这里插入图片描述
  • 然后开始调试即可。

当需要配置输入参数的时候

  • 在当前项目下 .vscode目录 中 添加 .launch.json 文件。
{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python 调试程序: 包含参数的当前文件",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": [
                "-i",
                "${workspaceFolder}
            ]
        }
    ]
}
  • 启动lacunch.json 开始调试。
    在这里插入图片描述

Debug CPP

  • 首先还是安装好对应的插件,本文,使用cmake来管理整个cpp 项目。
    在这里插入图片描述
    在这里插入图片描述
  • 关于cmake 管理工程, 使用CMakeLists.txtCMakePresets.json 来搭配使用。 cmake version > 3.27。本文使用CMake Tools 与 搭配 CMakePresets.json 来使用。通过配置来完成传cmake变量,以及控制多线程编译,以及执行target等配置。
  • CMakePresets.json 内容如下。
{
 "version": 3,
 "configurePresets": [
   {
     "name": "base",
     "hidden": true,
   //   "generator": "Ninja",
     "binaryDir": "${sourceDir}/out/build/${presetName}",
     "installDir": "${sourceDir}/out/install/${presetName}"
   },
   {
     "name": "x64-debug",
     "displayName": "x64 Debug",
     "inherits": "base",
     "hidden": true,
     "architecture": {
       "value": "x64",
       "strategy": "external"
     },
     "cacheVariables": {
       "CMAKE_BUILD_TYPE": "Debug"
     }
   },
   {
     "name": "x64-release",
     "displayName": "x64 Release",
     "inherits": "x64-debug",
     "hidden": true,
     "cacheVariables": {
       "CMAKE_BUILD_TYPE": "Release"
     }
   },
       {
     "name": "cuda-debug",
     "displayName": "Cuda x64 Debug",
     "inherits": "x64-debug",
     "cacheVariables": {
       "BACKEND": "ort-cuda"
     }
   },
   {
     "name": "cuda-release",
     "displayName": "Cuda x64 Release",
     "inherits": "x64-release",
     "cacheVariables": {
       "BACKEND": "ort-cuda"
     }
   },
 }
 ]
  "buildPresets": [
   {
       "name": "cuda-release",
       "description": "",
       "displayName": "",
       "jobs": 16,
       "verbose": false,
       "configuration": "Release",
       "targets": [
           "install"
       ],
       "configurePreset": "cuda-release"
   },
   {
       "name": "trt-release",
       "description": "",
       "displayName": "",
       "jobs": 16,
       "verbose": false,
       "configuration": "Release",
       "targets": [
           "install"
       ],
       "configurePreset": "trt-release"
   }
   ]
  • cmake tool 中选择对应的目标,进行预配置,编译以及执行。
    在这里插入图片描述

当没有传参时,Debug

  • 当没有参数传递的时候,debug,直接使用cmake tool 中的调试开启调试,或者执行 也同理

当存在参数传递时。

  • 配置.vscode 中的 launch.json 文件。
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(msvc) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            // Resolved by CMake Tools:
            "program": "${command:cmake.launchTargetPath}",
            "args": ["${workspaceFolder}\\config.txt, "${workspaceFolder}\\model.onnx"],
            "stopAtEntry": false,
            "cwd": "${command:cmake.launchTargetDirectory}",
            "environment": [
                {
                    // add the directory where our target was built to the PATHs
                    // it gets resolved by CMake Tools:
                    "name": "PATH",
                    "value": "${env:PATH}:${command:cmake.getLaunchTargetDirectory}"
                }
            ],
            "externalConsole": true
        }
    ]
}

  • 然后按 F5 开始调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/936181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)结构体传参

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 结构体传参 struct S有一个int data 它有一千个元素 然后struct S 创建了一个s给它初始化了 如果想把s的赋值打印 可以把s直接传给Printf 1 是传结构体的方式 也可以穿s的地址给print 2 …

PCL点云库入门——PCL库可视化之CloudViewer类简单点云信息显示

1、前言 可视化(visualization)涉及运用计算机图形学和图像处理技术,将数据转换成图像并在屏幕上展示,同时支持交互式处理。在PCL库中,一系列强大的可视化工具可供使用,其中较为流行的包括CloudViewer和PCL…

人工智能技术的深度解析与推广【人工智能的应用场景】

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

Source Insight的使用经验汇总

01-Add All"和“Add Tree”有何区别? 在 Source Insight 中,“Add All”和“Add Tree”是两种向项目(Project)中添加文件的操作选项,它们的区别在于处理文件和目录的方式不同: 1. Add All 范围&am…

检查读取数据寄存器输出的多扇出

为使第二寄存器被 RAM 原语吸收,来自存储器阵列的数据输出位的扇出必须为 1 。这在下图中进行了说明。 检查地址 / 读取数据寄存器上的复位信号 不应复位存储器阵列。只有 RAM 的输出可以容许复位。复位必须是同步的,以便将输出寄存器推断到 RAM 基元…

信创改造-Spring Boot 项目部署至 TongWeb

打 war 包参考:https://blog.csdn.net/z1353095373/article/details/144330999

趣味编程:猜拳小游戏

1.简介 这个系列的第一篇以猜拳小游戏开始,这是源于我们生活的灵感,在忙碌的时代中,我们每个人都在为自己的生活各自忙碌着,奔赴着自己所走向的那条路上,即使遍体鳞伤。 但是,生活虽然很苦,也不…

微服务-01

1.认识微服务 1.1 单体架构 单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。 当项目…

【Linux———基础IO】

每一滴眼泪,每一次心碎,什么爱能无疚无悔.......................................................................... 文章目录 前言 一、【认识文件I/O】 1.1、【回顾C语言文件I/O】 1.2、【操作系统文件I/O】 1.2.1、【open函数】 1、【open函数的三…

机器视觉LED面光源 成像效果显著

在机器视觉系统中,光源作为不可或缺的一部分,合适的光源能够提高检测物成像效果,增强检测效果。因此光源的选择至关重要,针对不同的检测对象,不同形状的光源应运而生。每种光源都有其适用的场景应用,选对光源&#xff…

HBase分布式安装配置(Zookeeper+HBase)

HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制…

【2024 Dec 超实时】编辑安装llama.cpp并运行llama

首先讲一下环境 这是2024 年12月,llama.cpp 的编译需要cmake 呜呜呜 网上教程都是make 跑的。反正我现在装的时候make已经不再适用了,因为工具的版本,捣鼓了很久。 ubuntu 18 conda env内置安装。 以下是可以完美编译llama.cpp的测试工具版…

go-zero(十二)消息队列

go zero 消息队列 在微服务架构中,消息队列主要通过异步通信实现服务间的解耦,使得各个服务可以独立发展和扩展。 go-zero中使用的队列组件go-queue,是gozero官方实现的基于Kafka和Beanstalkd 的消息队列框架,我们使用kafka作为演示。 一、…

vue绕过rules自定义编写动态校验

今天犯了个低级错误,虽然走了很多弯路,但这个过程还是值得记录一下 例子如下,有两个输入框: 第一个是套餐选择下拉框,可以下拉选择三个内容 第二个要根据上面的套餐选择三个选项来决定怎么显示,使用v-if&…

ABAQUS进行焊接仿真分析(含子程序)

0 前言 焊接技术作为现代制造业中的重要连接工艺,广泛应用于汽车、船舶、航空航天、能源等多个行业。焊接接头的质量和性能直接影响到结构件的安全性、可靠性和使用寿命。因此,在焊接过程中如何有效预测和优化焊接过程中的热效应、应力变化以及材料变形等问题,成为了焊接研…

【efinance一个2k星的库】

efinance 是一个可以快速获取基金、股票、债券、期货数据的 Python 库,回测以及量化交易的好帮手 但没有等比复权的,不用。 import efinance as ef ef.stock.get_quote_history(510880,fqt2)

【考前预习】3.计算机网络—数据链路层

往期推荐 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 浅谈云原生--微服务、CICD、Serverless、服务网格_云原生cicd-CSDN博客 子网掩码、网络地址、广播地址、子网划分及计算_子网广播地址-CSDN博客 浅学React和JSX-CSDN博客 目录 1.数…

Microsemi Libero SoC免费许可证申请指南(Microchip官网2024最新方法)

点击如下链接: https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-and-soc-design-tools/fpga/licensing 点击右侧,请求免费的License 如果提示登录,请先登录Microchip账号。 点击Request Free License。 选项一年免费的Li…

嵌入式Linux应用层开发——调试专篇(关于使用GDB调试远程下位机开发板的应用层程序办法 + VSCode更好的界面调试体验提升)

环境预备——调试 虽说有正点原子的代码带着,但是,如果我们只是打着printf这种方式进行手动的检查代码错误,还是不太方便的,笔者这里整理了两个上位机调试路线。 路线1:使用GCC7.5,这个路线比较保守&#…

深度学习训练参数之学习率介绍

学习率 1. 什么是学习率 学习率是训练神经网络的重要超参数之一,它代表在每一次迭代中梯度向损失函数最优解移动的步长,通常用 η \eta η 表示。它的大小决定网络学习速度的快慢。在网络训练过程中,模型通过样本数据给出预测值&#xff0…