解决VSCode中Debug和运行路径不一致的

news/2024/11/17 4:48:14/文章来源:https://www.cnblogs.com/bigleft/p/18200606

哈喽,大家好,我是木头左!

背景介绍

在Visual Studio Code(简称VSCode)中进行开发时,经常需要使用到调试(Debug)功能。然而,有时候会发现,当尝试调试程序时,程序的运行路径与预期不符。这通常会导致程序无法正确读取文件或访问资源,从而影响调试过程。为了解决这个问题,可以在launch.json文件中配置CWD参数,以确保Debug和运行路径一致。

配置launch.json文件

launch.json文件是VSCode中用于配置调试会话的文件。通过修改这个文件,可以自定义调试器的行为,以满足的需求。要配置CWD参数,需要先找到launch.json文件。通常情况下,这个文件位于项目根目录的.vscode文件夹中。如果没有这个文件,可以手动创建一个。
接下来,需要编辑launch.json文件,添加或修改configurations部分。以下是一个示例配置:

{"version": "0.2.0","configurations": [{"name": "Python: Current File","type": "python","request": "launch","cwd": "${fileDirname}","program": "${file}","console": "integratedTerminal","justMyCode": true}]
}

在这个示例中,为Python语言创建了一个名为“Python: Current File”的调试配置。其中,"cwd"参数设置为"${fileDirname}",表示当前工作目录(CWD)为当前打开文件所在的目录。这样,无论是调试还是运行程序,都会使用相同的路径。

参数解释

  • "name":调试配置的名称,可以自定义。
  • "type":调试器类型,这里使用的是Python。
  • "request":调试请求类型,这里选择的是“launch”,表示启动一个新的调试会话。
  • "cwd":当前工作目录(CWD),这里设置为"${fileDirname}",表示当前打开文件所在的目录。
  • "program":要运行的程序,这里设置为"${file}",表示当前打开的文件。
  • "console":指定调试输出的控制台类型,这里选择的是“integratedTerminal”,表示使用VSCode内置的终端。
  • "justMyCode":是否仅跳过不在源代码中的代码,这里设置为true

总结

通过配置launch.json文件中的CWD参数,可以确保在VSCode中进行调试时,程序的运行路径与预期一致。这样,就可以顺利地进行调试,避免因路径问题导致的各种困扰。希望这篇文章能帮助到你,让你在VSCode中使用调试功能更加顺畅。

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DockerDesktop安装指南以及Windows下WSL2和 Hyper-V相关问题追查

文章原创不易,转载请注明来源 ,谢谢! 一、 问题 周末在家,给自己的老的台式机安装DockerDesktop。 电脑配置是处理器 Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz 3.30 GHz机带 RAM 16.0 GB (15.9 GB 可用)系统类型 64 位操作系统, 基于 x64 的处理器版本 Windows 10 专业版…

软件设计原则—接口隔离原则

B类需要方法1好处是b类继承A类后就有了方法1的功能,问题是B类被迫有了它不使用的方法2 这个其实是根据方法的职责细分接口,只需要依赖其中一个接口就可以了客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。 下面看一个例子来理解接口隔…

科翼阁:网赚广告套路千千万,美食沙雕占大半

在网赚的世界里,有70%是新手,20%是刚上手不久的,但这类人能坚持在网赚这个行业持续发展的机率只有10%,所以只有10%的能在网赚这个行业中进行持久战的,也有只这类人能真正在网赚中赚到大钱的人,网赚需要坚持,中途退出的人绝对无法在网赚这行中得到赢利。在国外,由于网赚…

关于 双向不循环列表的创建、插入、删除、遍历、检索、销毁

双向循环链表公式双向不循环链表代码 #include <stdio.h> #include <stdlib.h> #include <string.h>//宏定义一个数据域 #define DATA_LEN 60//双向不循环链表的节点定义 typedef struct double_link_list {//数据域char data[DATA_LEN]; // 数据…

软件设计原则—依赖倒转原则

高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。 简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。下面看一个例子来理解依赖倒转原则:组装电脑 现要组装一台电脑,需要配件cpu,硬盘,…

关于没有熔断降级导致服务重启问题

场景 1.k8s微服务触发重启 容器配置的健康检查采用actuator curl 127.0.0.1:8080/actuator/health 2.容器重启钩子回调curl -X POST http://127.0.0.1:8080/actuator/shutdown 最终原因是因为调用第三方服务,超时设置3秒,重试3次,三方服务挂起导致tomcat连接池占满,健康检查…

stm32 bootloader的app中断向量偏移设置,HAL库

如何设置Hal库的中断向量偏移看前几篇的 stm32f103c8t6 HAL库更改中断向量表(app部分) - 这一切足够了 - 博客园 (cnblogs.com)我这里bootloader的APP开始地址就是0x08006000,中断向量偏移0x00006000 设置完成之后编译mdk,将生成的bin文件使用ymodem写入0x08006000中 这里设…

c语言程序实验————实验报告九

c语言程序实验————实验报告九实验项目名称: 实验报告8 字符串处理函数 实验项目类型:验证性 实验日期:2024 年 5 月 16 日一、实验目的 1.掌握定义函数的方法 2.掌握函数调用、实参与形参的对应关系、参数的传递方式 3.掌握函数的嵌套调用和递归调用的方法 4.掌握全局变…

Flink精确消费一次

在大数据计算里面,计算引擎是处于承上启下的作用,对上承接数据源,对下承接各种各种数据库,比如mysql、oracle。对于任何数据计算来说要想精确消费一次,就需要支持事务或者幂等,我们最常见的支持事务的就是单点的oracle、mysql数据库,那么Flink作为分布式计算引擎,是如何…

电子传输系统安全-进展1

实验二 电子传输系统安全-进展1 上周任务完成情况完成了上学期电子公文传输系统的重新调试通过 部署了bouncycastle 学习了bouncycastle 将jar包添加到依赖项本周计划将上学期电子公文传输系统重新调试通过 部署bouncycastle 学习bouncycastle 将jar包添加到依赖项参考链接Boun…

【日记】被零食有鸣的工作人员轰出来了……(544 字)

正文今天全在睡觉。早上睡到十点起床,下午又从三点睡到五点,我愿称之为睡觉仙人…… 这就是上班的副作用吗……下午同事一个电话打过来,决定不接。周末同事来电话,准没好事。结果她微信发消息问,要不要出去走走,一个人有点闷。我都惊了,头一回。我还以为又要我做啥事儿呢…

d3d12龙书阅读----绘制几何体(上) 课后习题

d3d12龙书阅读----绘制几何体(上) 课后习题 练习1 完成相应的顶点结构体的输入-布局对象typedef struct D3D12_INPUT_ELEMENT_DESC{一个特定字符串将顶点结构体数组里面的顶点映射到顶点着色器的输入签名LPCSTR SemanticName;语义索引 如果语义名相同的话 使用索引进行区分UI…