(Mac) VSCode 创建C++文件并调试

前言:
     了解C/C++程序编译步骤以及如何生成可执行文件:  C源程序->编译预处理->编译程序(生成*.s文件)->优化程序->汇编程序(生成*.o文件)->链接程序->可执行文件(*.out)

      https://www.cnblogs.com/hzb462606/p/14605445.html
正文:

     1、由于VSCode工具最终也是调用g++、clang++编译器,所以安装VSCode前,先检查下自己机器上又没有这两个编译器。可以通过下面指令分别检查是否安装:

g++ --version
clang++ --version
eg:
xxx@madeMacBook-Pro ~ % g++ --version 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

xxx@madeMacBook-Pro ~ % clang++ --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

  2、启动VSCode,按下图打开扩展


在扩展搜索框里,输入如下三款插件,目的是让VSCode拥有C++语法高亮、错误检查和调试等功能。

在这里插入图片描述

 *注: 为什么安装CodeLLDB?  Mac在更新到Catalina后不再支持lldb调试。

所有插件安装完后,我们创建一个控制台应用跑一下。

在桌面创建一个文件夹Test(你的工程根目录),在VSCode中打开该文件夹。在里面新建一个cpp文件命名为main.cpp。随意写些测试程序,如下

#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
  cout << "Hello world!!" << endl;
  return 0;
}

3、之后打开工作区,开始调试,会看到以下提示:
在这里插入图片描述

创建 launch.json 文件,选择LLDB

在这里插入图片描述

launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            //"program": "${workspaceFolder}/test.out",
            //上一行是官方写法,但是不同的cpp调试都要改配置,非常麻烦
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "Build with Clang"
        }
    ]
}

4、保存后按快捷键⇧⌘B编译,此时会出现提示没有找到要运行的生成任务,所以接下来将进行生成任务的配置工作,VSCode提供了一些模版,有需要的可以自行选择,这里就选则Others。


点击“No build task to run found. Configure Build Task...”后,如下所示:

 

点击“Create tasks.jon file form template”后,如下所示:

 

点击“Others”后,生成“tasks.json”文件,将其内容替换如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build with Clang",//这个任务的名字在launch.json最后一项配置
            "type": "shell",
            "command": "clang++",
            "args": [
                "-std=c++17",
                "-stdlib=libc++",
                //"test.cpp",这里是官方写法,不具有普遍性,注意两个配置文件的统一性即可
                "${fileBasenameNoExtension}.cpp",
                "-o",
                //"test.out",
                "${fileBasenameNoExtension}",
                "--debug"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

保存后切换到对应.cpp文件, 按快捷键‘⇧⌘B’编译,你会发现工程目录下已经生成了对应的 {${fileBasenameNoExtension}}这个可执行文件

6、在点Debug的启动按钮,开始调试,自动在断点处停下来,在自带的终端里进行输入。

 

原文地址:https://www.cnblogs.com/hzb462606/p/14605765.html