C++ vscode调试CMake项目

CMake文件

在vscode工作目录下创建CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(test)

set(CMAKE_CXX_STANDARD 11)

add_executable(test test.cpp)

C++文件

在vscode工作目录下创建test.cpp

#include <iostream>
using namespace std;

int main() { cout << "test" << endl; }

vscode调试文件

在vscode工作目录下,打开.vscode文件夹,创建launch.json和tasks.json

// tasks.json
{
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build"
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake", //执行cmake..
            "command": "cmake",
            "args": [
                ".."
            ]
        },
        {
            "label": "make", //执行make
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "make",
            "args": []
        },
        {
            "label": "Build", //把上面的两个动作绑定,命名为Build
            "dependsOrder": "sequence",
            "dependsOn": [
                "cmake",
                "make"
            ]
        }
    ]
}
// launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 管道启动",
            "type": "cppdbg",
            "request": "launch",
            // 指定可执行文件的路径和名称
            "program": "${workspaceFolder}/build/test",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "Build",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

调试前需要在vscode工作目录下创建build文件夹,在打开C++文件时按F5或者运行-启动调试即可断点调试

posted on 2022-07-27 15:14  umichan  阅读(708)  评论(0)    收藏  举报