c++ vscode cmake debug for mac

  1. 下载vscode

  2. 安装c++插件

参考:C++ programming with Visual Studio Code

  1. 安装llvm,可以使用brew安装

  2. 配置llvm到系统环境变量中

  3. 编写c++代码

  4. 编写CMakeLists.txt文件(前提安装cmake)

    cmake_minimum_required(VERSION 3.5)

    project(vscode_cmake_debug)

    设置可执行文件的输出路径

    set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

    重点

    set(CMAKE_BUILD_TYPE "Debug")

    add_executable(main src/main.cpp)

  5. 生成vscode中c++的智能提示文件c_cpp_properties.json

可参考:https://code.visualstudio.com/docs/cpp/config-clang-mac

复制代码
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/opt/homebrew/opt/llvm/bin/clang",
            "intelliSenseMode": "macos-clang-arm64"
        }
    ],
    "version": 4
}
  1. 生成vscode debug文件launch.json

具体可参考:Configure VS Code for Clang/LLVM on macOS

复制代码
{
    // 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": "Debug",
            "type": "lldb",
            "request": "launch",            
            "program": "${workspaceFolder}/cmake_debug/bin/main",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            //"preLaunchTask": "C/C++: g++ build active file",
            //"miDebuggerPath": "lldb的路径"
        }
    ]
}

其中部分字段配置可参考:

https://code.visualstudio.com/docs/editor/variables-reference

Configure launch.json for C/C++ debugging in Visual Studio Code

因为已经采用cmake编译,所以launch中的preLaunchTask可以不用关联task了

参考文件:

c++程序的 cmake编译+vscode来debug 方法和步骤(ubuntu)_cmake 如何debug-CSDN博客

相关推荐
qz_Serene9 分钟前
C++:类和对象(上)
开发语言·c++
郝学胜-神的一滴1 小时前
干货版《算法导论》17:二叉树核心原理、遍历逻辑与高阶实操全解
数据结构·c++·python·算法·计算机·编程
hetao17338372 小时前
2026-08-09~08-14 hetao1733837 的刷题记录
c++·算法
间歇性努力持续性发呆的野生快乐选手4 小时前
栈的性质(进栈,出栈,访问)
数据结构·c++
旖旎夜光5 小时前
LeetCode 904:水果成篮(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
乐观勇敢坚强的老彭6 小时前
C++ 竞赛常用算法模板速查表
开发语言·c++·算法
我变成萤火虫7 小时前
河南萌新联赛2026第(三)场:郑州轻工业大学
数据结构·c++·算法·贪心算法·stl·深度优先·哈希算法
buhuizhiyuci7 小时前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
liulilittle7 小时前
LLM 推理引擎与内核系统工程原理
c++·ai·llm·内存·memory·core·kernel
啦啦啦啦啦zzzz8 小时前
moduo网络库 Acceptor TcpConnection
服务器·网络·c++·reactor·网络库