MAC+VS Code+C/C++调试配置
VS Code C/C++ 环境配置
添加工作区文件夹
虽然代码能力非常弱,但是环境还是要配好的嘛。C/C++插件 安装完成之后,首先需要将相应的文件夹添加到VS Code对应的工作区,便于后续代码调试,如图所示:

Say Hello world
然后,在文本编辑区新建文本,编写一段简单的代码,保存为two_sum.cpp至工作区文件夹中,代码如下,vscode操作如图所示。其中,我工作区文件夹名称是vscode_c,然后因为Code Runner的功劳,此时只需要点右上角的运行按钮,即可运行程序啦。
#include<iostream>
using namespace std;
int main()
{
int result;
int a = 2;
int b = 3;
result = a + b;
cout << result<< endl;
return 0;
}

关于三个配置文件--Debug
接下来就是愉快的Debug时间啦,我主要就是在配置这几个文件的时候花了不少时间。因为自己性子急,又总想着网上肯定有现成的配置文件,只要复制一下就好,结果呢,网上的资料质量参差不齐,几乎全都没有用,还有很多就是直接贴图,什么都不说,哎呦喂,我这急脾气加暴脾气呀,一下子全都喷涌而出(心塞),逼着我自己好好看了看官方文档里面的一些说明,这次总算是把一些基本设置参数弄得七七八八了。
c_cpp_properties.json
首先快捷键shift+command+p 打开C/Cpp: Edit configurations,其会自动生成c_cpp_properties.json,该文件主要是方便添加其他路径的头文件以及一些代码定位功能。但是小白如我现在还用不到这些功能,所以该文件自动生成之后,如果只是简单的使用,暂时不需要修改。这个文件是长这个样子滴:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
参数的简单说明
- “includePath”:后期需要添加的额外头文件路径
- “compilerPath”: 编译器所在的文件路径
更加详细的说明可以参考C/C++ for VS Code
tasks.json
这个文件的作用是编译C/C++源码。首先快捷键shift+command+p 打开Tasks: Configure Tasks,选择 Create tasks.json file from templates,此时会蹦出一个下拉列表,在下拉列表中选择Others,这个时候tasks.json文件就会自动生成啦。这个配置文件是长这个样子的:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build two_sum.cpp",
"type": "shell",
"command": "g++",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.out",
"-g"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
参数的简单说明
“label”:任务的名称
“type”:任务的类型,有两种(shell/process),shell的意思相当于先打开shell再输入命令,process是直接运行命令
“command”:实际执行的命令
“args”:在这里可以设置一些需要的参数,比如说这里我设置的四个参数中,
“-o”,表示指定输出文件名,如果不加该参数则默认Windows下输出a.exe,Linux/MAC下默认a.out,紧接着的一行即为指定的输出文件名
“-g”,C/C++调试必备参数
更加详细的解释见VS Code官方文档关于tasks.json的说明
官方文档中还给出了GitHub中的tasks.json模版
launch.json
该文件的作用是为了可以让我们愉快地调试代码的啦。首先找到虫子的图标,然后点击设置的按钮,在蹦出来的选项中选择C++ (GDB/LLDB),就像图片中这个样子:

然后,跟tasks.json相对应,简单修改后如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb"
}
]
}
参数的简单说明
“name”:配置名称,将会在启动配置的下拉菜单中显示
“type”:配置类型
“request”:请求配置类型,可以为launch(启动)或attach(附加)
“program”:进行调试的程序的路径
“stopAtEntry”:若设置为true时程序将暂停在程序入口处
“cwd”:当前调试所在目录
“externalConsole”:调试时是否显示控制台窗口,设置为true即是显示控制台
更加详细的解释见Github中关于launch.json文件的说明
上面的步骤全部完成之后,首先切换到two_sum.cpp,快捷键command+shift+b对源文件进行编译,编译成功之后,按下F5,我们便可以愉快地调试啦。成功调试的图如下:

MAC+VS Code+C/C++调试配置的更多相关文章
- MAC+VS Code+Python+Markdown调试配置
目录 VS Code官网下载 VS Code插件推荐 VS Code Python环境配置 Markdown配置 VS Code官方文档 VS Code官网下载 VS Code官网下载地址 VS Co ...
- 使用VS Code从零开始开发调试.NET Core 1.0
使用VS Code 从零开始开发调试.NET Core 1.0. .NET Core 是一个开源的.跨平台的 .NET 实现. VS Code 全称是 Visual Studio Code,Visua ...
- Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...
- 使用VS Code从零开始开发调试.NET 5
使用VS Code 从零开始开发调试.NET 5.无需安装VS 2019即可开发调试.NET 5应用. VS Code 全称是 Visual Studio Code,Visual Studio Cod ...
- mac上eclipse用gdb调试(转)
mac上eclipse用gdb调试 With its new OS release, Apple has discontinued the use of GDB in OS X. Since 2005 ...
- 【ionic】Mac IOS下真机调试
模拟调试不能保证真机一定没问题,所以真机调试是非常必要的一步 IOS设备 启用设备调试 在IOS设备中(Iphone,Ipad)中开始web检测器 设备->safari->高级->w ...
- 使用VS Code从零开始开发调试.NET Core 1.1
使用VS Code 从零开始开发调试.NET Core 1.1.无需安装VS 2017 RC 即可开发.NET Core 1.1. .NET Core 1.1 发布也有一段时间了,最大的改动是从 pr ...
- Mac 环境下svn服务器的配置
Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...
- Mac: phpstorm中使用xdebug调试php
Mac: phpstorm中使用xdebug调试php###phpstorm和webserver都在同一台机器上这种情况1.安装xdebug使用pecl安装即可2.php.ini配置[xdebug]z ...
随机推荐
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是
按照先后顺序: 1,静态先于非静态代码库执行(静态代码块随着类的加载而加载,初始化只执行一次) 2,父类先于子类 3,非静态代码块优于构造函数执行 所以执行顺序如下: 父类B静态代码块->子类A ...
- SQLSERVER 数据库管理员的专用连接DAC
DAC:Dedicated Admin Connection 当SQL Server因系统资源不足,或其它异常导致无法建立数据库连接时, 可以使用系统预留的DAC连接到数据库,进行一些问题诊断和故障排 ...
- 关于JEECMS套站工具的使用要点
第一步:在[界面—资源]下面引入资源文件(js,css,img…) 第二步:在[界面—模板]下面将网站的入口页面写在[index]文件下 此时修改index页面中的 js,css,图片 的路径,路 ...
- KOA 学习(一)
一.安装KOA 用npm下载KOA 就会在koa文件夹下生成 二.输出hello,world 我下载的KOA版本号是2.0.1 const Koa = require('koa'); const ap ...
- 2019-3-8-win10-uwp-一张图说明水平对齐和垂直对齐
title author date CreateTime categories win10 uwp 一张图说明水平对齐和垂直对齐 lindexi 2019-03-08 10:45:40 +0800 2 ...
- Vuejs实战项目三:退出系统功能实现
1.创建Mockjs接口 method:post url:/user/logout 描述:退出系统 response: { "code": 2000, //状态码 "fl ...
- UVA11613 Acme Corproation
UVA11613 Acme Corproation 生产销售计划 题目大意 A公司生产一种元素,给出该元素在未来M个月中每个月的单位售价,最大生产量,生产成本,最大销售量和最大存储时间,和每月存储代价 ...
- Wsgi研究
//转载自http://blog.kenshinx.me/blog/wsgi-research/ wsgi是一个搞web开发的pythoner必须了解的内容,之前也零散的看过一些文章,但总感觉好多概念 ...
- win8 装的SQL Server2012 企业版
链接:ed2k://|file|cn_sql_server_2012_enterprise_edition_x86_x64_dvd_813295.iso|5054384128|BC78EFDC4005 ...
- mysql 无法存储joda time的datetime类型
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x ...