首页 开发工具 VSCode vscode调试c程序失败

vscode调试c程序失败

Feb 12, 2020 pm 04:30 PM
c vscode

vscode调试c程序失败

问题:

执行调试时,出现问题:

无法在".vscode"文件夹(Cannot read property 'name' of undefined) 内创建"launch.json"文件 

解决方法:

一、创建文件夹

点击下图中红框处,创建文件夹,命名为“.vscode"

b6409cb50d5dc470da254f57ce296b3.png

二、创建launch.json

在.vscode文件夹中,创建launch.json文件,并将下面的代码复制进去,其中,miDubuggerPath后的路径为C++编辑器的安装路径

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
            "environment": [], // 环境变量
            "externalConsole": false, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端
            "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
            "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但我没试过lldb
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要
            "setupCommands": [
                { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}

三、创建tasks.json

在.vscode文件中,新建tasks.json文件,编辑代码

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
            "command": "g++", // 要使用的编译器,C++用clang++;如果编译失败,改成gcc或g++试试,还有问题那就是你自己的代码有错误
            "args": [
                "${file}",
                "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-g", // 生成和调试有关的信息
                "-Wall", // 开启额外警告
                "-static-libgcc", // 静态链接libgcc,一般都会加上
                "-std=c++11", // C++最新标准为c++17,或根据自己的需要进行修改
            ], // 编译命令参数
            "type": "process", // process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
            "group": {
                "kind": "build",
                "isDefault": true // 不为true时ctrl shift B就要手动选择了
            },
            "presentation": {
                "echo": true,
                "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档
                "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
                "panel": "shared" // 不同的文件的编译信息共享一个终端面板
            },
            // "problemMatcher":"$gcc" // 此选项可以捕捉编译时终端里的报错信息;本文用的是clang,开了可能会出现双重报错信息;只用cpptools可以考虑启用
        }
    ]
}

四、此时点击调试按钮,可以看到出现可以进行调试的选项

34d6a3f0094471ade3fb1a261fd0d21.png

相关文章教程推荐:vscode教程

以上是vscode调试c程序失败的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

Rimworld Odyssey温度指南和Gravtech
1 个月前 By Jack chen
初学者的Rimworld指南:奥德赛
1 个月前 By Jack chen
PHP变量范围解释了
4 周前 By 百草
撰写PHP评论的提示
3 周前 By 百草
在PHP中评论代码
3 周前 By 百草

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Laravel 教程
1604
29
PHP教程
1509
276
VSCode 在处理多语言项目时的编码设置与乱码问题解决 VSCode 在处理多语言项目时的编码设置与乱码问题解决 May 22, 2025 pm 10:57 PM

VSCode解决多语言项目编码和乱码问题的方法包括:1.确保文件以正确编码保存,使用“重新检测编码”功能;2.设置文件编码为UTF-8并自动检测编码;3.控制是否添加BOM;4.使用“EncodingConverter”插件转换编码;5.利用多根工作区功能为不同子项目设置编码;6.优化性能,忽略不必要的文件监控。通过这些步骤,可以有效处理多语言项目的编码问题。

参加VSCode线下技术交流活动的经验 参加VSCode线下技术交流活动的经验 May 29, 2025 pm 10:00 PM

参加VSCode线下技术交流活动的经验非常丰富,主要收获包括插件开发的分享、实战演示和与其他开发者的交流。1.插件开发的分享:了解了如何利用VSCode的插件API提升开发效率,如自动格式化和静态分析插件。2.实战演示:学习了如何使用VSCode进行远程开发,认识到其灵活性和扩展性。3.与开发者交流:获取了优化VSCode启动速度的技巧,如减少启动时加载的插件数量和管理插件加载顺序。总之,这次活动让我受益匪浅,强烈推荐对VSCode感兴趣的人参加。

如何在 VSCode 中设置美观且易于阅读的代码字体和字号? 如何在 VSCode 中设置美观且易于阅读的代码字体和字号? May 29, 2025 pm 09:57 PM

在VSCode中设置美观且易于阅读的代码字体和字号的方法如下:1.打开VSCode,进入设置界面。2.在设置中输入{"editor.fontFamily":"FiraCode","editor.fontSize":14,"editor.lineHeight":24}。我推荐使用FiraCode字体,设置字号为14,行高为24,以提升编程体验。

在VSCode中创建和管理多个项目工作区 在VSCode中创建和管理多个项目工作区 May 29, 2025 pm 10:09 PM

在VSCode中创建和管理多个项目工作区可以通过以下步骤实现:1.点击左下角的"管理"按钮,选择"新建工作区",并决定保存位置。2.给工作区起有意义的名字,如"WebDev"或"Backend"。3.在资源管理器中切换项目。4.使用.code-workspace文件配置多个项目和设置。5.注意版本控制和依赖管理,确保每个项目有.gitignore和package.json文件。6.定期清理无用文件,考虑使用远程开发功

VSCode 的代码导航功能在大型代码库中的效率提升方法 VSCode 的代码导航功能在大型代码库中的效率提升方法 May 22, 2025 pm 11:00 PM

在大型代码库中提升VSCode代码导航效率的方法包括:1)使用符号导航(Ctrl P和Ctrl T)快速查找文件和符号;2)利用代码跳转(F12或Ctrl Click)直接跳转到函数定义或变量声明;3)通过全局搜索(Ctrl Shift F)结合正则表达式精确查找代码片段;4)安装扩展工具如GitLens和Bookmarks增强导航功能;5)优化项目索引和搜索性能,定期清理无用文件并使用过滤条件。这些方法结合使用可以显着提高在大型代码库中的导航效率。

VSCode 插件更新后导致编辑器崩溃的原因及解决办法 VSCode 插件更新后导致编辑器崩溃的原因及解决办法 May 29, 2025 pm 10:03 PM

VSCode插件更新后编辑器崩溃的原因是插件与现有版本的VSCode或其他插件存在兼容性问题。解决方法包括:1.逐个禁用插件排查问题插件;2.降级问题插件到之前版本;3.寻找替代插件;4.保持VSCode和插件更新,并进行充分测试;5.设置自动备份功能以防数据丢失。

VSCode 在多屏幕环境下的布局设置与显示问题解决 VSCode 在多屏幕环境下的布局设置与显示问题解决 May 29, 2025 pm 10:12 PM

在多屏幕环境下使用VSCode,可以通过调整窗口大小和位置、设置工作区、调整界面缩放、合理布局工具窗口、更新软件和扩展、优化性能、保存布局配置来解决布局和显示问题,从而提升开发效率。

VSCode 对新兴编程语言的支持趋势与相关问题分析 VSCode 对新兴编程语言的支持趋势与相关问题分析 May 29, 2025 pm 10:06 PM

VSCode对新兴编程语言的支持趋势是积极的,主要体现在语法高亮、智能代码补全、调试支持和版本控制集成等方面。尽管存在扩展质量和性能问题,但可以通过选择高质量的扩展、优化配置和积极参与社区贡献来解决。

See all articles