Mac VS Code C++ debug

1,524 阅读1分钟

背景说明

参照参考文档操作后,我遇到了如下问题,本文主要记录如何解决如下的问题。

解决办法

1、在运行和调试窗口,创建lunch.json文件

image.png 将文件内容替换为下面的内容

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            // "program": "${workspaceFolder}/<your program>",
            //上一行是官方写法,但是不同的cpp调试都要改配置,非常麻烦
            //"program": "${fileDirname}/${fileBasenameNoExtension}",
            //使用上面一行也可以
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "Build with Clang"
        }
    ]
}

2、生成task.json文件

image.png

image.png

image.png

接下来将launch.json中preLaunchTask的value设置为task.json中label的value,其他的都不需要修改,内容如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "Build with Clang",
            "command": "/usr/bin/clang++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "编译器: /usr/bin/clang++"
        }
    ]
}

3、c_cpp_properties.json 配置

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "macos-clang-x64"
        }
    ],
    "version": 4
}

4、断点调试,再次执行第二步,即可将代码断在目标位置

image.png

参考文档:
(Mac) VSCode 创建C++文件并调试
解决vscode在macos Catalina上配置C/C++环境及调试问题