首页 > 编程语言 >vscode配置C/C++调试环境

vscode配置C/C++调试环境

时间:2023-05-27 18:56:31浏览次数:43  
标签:gcc vscode gdb C++ fileDirname json true 调试

1. Ctrl+Shift+P, 输入 tasks, 选择"Tasks:Configure Default Build Task", z这会生成tasks.json.然后, 修改其中的args, 删掉原来的${file}, 并将工程下的c文件添加进去, 即${fileDirname}/*c(或单个文件添加也行, 笔者因为工程的所有的c文件都在一个路径下, 所以用的*.c):

 1 {
 2     "version": "2.0.0",
 3     "tasks": [
 4         {
 5             "type": "cppbuild",
 6             "label": "C/C++: gcc 生成活动文件",
 7             "command": "/usr/bin/gcc",
 8             "args": [
 9                 "-fdiagnostics-color=always",
10                 "-g",
11                 "${fileDirname}/*.c",
12                 "-o",
13                 "${fileDirname}/${fileBasenameNoExtension}"
14             ],
15             "options": {
16                 "cwd": "${fileDirname}"
17             },
18             "problemMatcher": [
19                 "$gcc"
20             ],
21             "group": {
22                 "kind": "build",
23                 "isDefault": true
24             },
25             "detail": "编译器: /usr/bin/gcc"
26         }
27     ]
28 }

2. 在debug按钮(即左侧的那个虫子按钮)下, 点击创建launch.json, 并且点击添加配置, 选择配置中的"C/C++: (gdb) 启动", 然后, 可以自己手工添加配置参数"preLaunchTask", 该参数的值与task.json中的"label参数"的值保持一致, 以便使用OS自带的终端(需要把参数"externalConsole"的值设置为true), 这时, launch.json如下:

 1 {
 2     // 使用 IntelliSense 了解相关属性。 
 3     // 悬停以查看现有属性的描述。
 4     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 5     "version": "0.2.0",
 6     "configurations": [
 7         {
 8             "preLaunchTask": "C/C++: gcc 生成活动文件",
 9             "name": "(gdb) 启动",
10             "type": "cppdbg",
11             "request": "launch",
12             "program": "${workspaceFolder}/${fileBasenameNoExtension}",
13             "args": [],
14             "stopAtEntry": false,
15             "cwd": "${fileDirname}",
16             "environment": [],
17             "externalConsole": true,
18             "MIMode": "gdb",
19             "setupCommands": [
20                 {
21                     "description": "为 gdb 启用整齐打印",
22                     "text": "-enable-pretty-printing",
23                     "ignoreFailures": true
24                 },
25                 {
26                     "description": "将反汇编风格设置为 Intel",
27                     "text": "-gdb-set disassembly-flavor intel",
28                     "ignoreFailures": true
29                 }
30             ]
31         }
32  
33     ]
34 }

3. Ctrl+Shift+P, 输入C/C++, 选择"C/C++: Edit Configurations(JSON)", 生成一个c_cpp_properties.json, 如下:

 1 {
 2     "configurations": [
 3         {
 4             "name": "Linux",
 5             "includePath": [
 6                 "${workspaceFolder}/**"
 7             ],
 8             "defines": [],
 9             "compilerPath": "/usr/bin/gcc",
10             "cStandard": "c17",
11             "cppStandard": "gnu++14",
12             "intelliSenseMode": "linux-gcc-x64"
13         }
14     ],
15     "version": 4
16 }

 

标签:gcc,vscode,gdb,C++,fileDirname,json,true,调试
From: https://www.cnblogs.com/weitao-miao/p/17437156.html

相关文章

  • c++模板的引用类型参数折叠问题解释
    template<typenameT>voidf1(T&);实参可以是左值、const类型的左值,不能是右值。f1(i);  //正确,i是int型,T是intf1(c); //正确,i是constint型,T是constintf1(5); //错误 template<typenameT>voidf1(constT&);实参可以是左值、const类型的左值、......
  • C++学习目录
    C++学习目录第一章-C++介绍第二章-数据类型与运算第三章-选择与循环结构第四章-函数第五章-数组第六章-指针与引用第七章-数据结构第八章-面向对象第九章-类与对象的使用第十章-面向对象三大特点第十一章-输入输出流第十二章-异常处理与命......
  • 使用vscode远程连接Linux环境写C程序
    1. 下载安装vscode2. 在扩展商店搜索chinese安装中文语言包, 相当于汉化vscode, 应该需要重启生效3. 安装配置插件RemoteSSH4. 连接远程主机, 在资源管理器中可以管理文件5. 试着创建一个文件, 以.c作为扩展名, 会自动下载插件c/c++扩展包6. 写好的C程序, 可以......
  • 去除Flutter项目dart文件在vscode里出现波浪号
    问题示例: 去掉Flutter项目在vscode里打开显示的蓝色波浪线解决办法: ......
  • 01python环境安装 conda + vscode
    conda安装win10安装1、从官网下载python版本对应的miniconda;2、一直Next;不用配置环境变量;修改安装路径,因为后面创建的虚拟环境是放在安装目录;3、安装后,打开AnacondaPrompt即可使用;4、配置镜像(国内下载太慢,还容易卡住)Windows用户无法直接创建名为.condarc的文件,可先生成......
  • Tool-CMake-vscode-cmake-tools
    Tool-CMake-vscode-cmake-toolsmicrosoft/vscode-cmake-toolshttps://github.com/microsoft/vscode-cmake-tools/blob/HEAD/docs/cmake-settings.mdConfigureCMakeToolssettingsCMakeToolssupportsavarietyofsettingsthatcanbesetattheuser,orworkspa......
  • C++-double free or corruption(fasttop)
    C++-doublefreeorcorruption(fasttop)出现doublefreeorcorruption(fasttop)检查:delete,是否有重复delete隐式的复制构造函数导致析构次数增加全局变量,项目代码合并时,不同的共享库中出现同名的全局变量[本次问题的原因,修改新增的全局变量名称后fixed.]......
  • C++多线程
    多线程:thread_local每个线程都会有自己的一份数据,不会共享数据,避免竞争 volatile告诉编译器每次取数据都要从内存里取 使用情况:信号处理内存映射相关非本地跳转 std::atomic定义操作为原子操作,不可被线程分开 接口  std::shreadC++的线程类,但是不保证......
  • nvm安装多版本node,vscode不识别npm函数解决方案
    问题:npm:无法将“npm”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次的解决方案解决办法:(首先确定cmd当中是能够正常显示node和npm版本问题) 1、第一种办法:设置管理员权限 2、第二种办法:在Vscode......
  • 【模型部署 01】C++实现分类模型(以GoogLeNet为例)在OpenCV DNN、ONNXRuntime、TensorRT
    深度学习领域常用的基于CPU/GPU的推理方式有OpenCVDNN、ONNXRuntime、TensorRT以及OpenVINO。这几种方式的推理过程可以统一用下图来概述。整体可分为模型初始化部分和推理部分,后者包括步骤2-5。以GoogLeNet模型为例,测得几种推理方式在推理部分的耗时如下:结论:GPU加速首选Tens......