C++ && CMake Debug VScode

C++ && CMake Debug VScode

vscode打开工程文件夹

注意:请勿打开多个总的工程

设置编译器路径

  • 进入交互面板下(F1或者Ctrl+Shift+p), 输入c/c++选择C/C++: Edit Configurations (UI)
  • 采用默认即可,这里编译器我选了个g++, 也可以默认。这样完事之后,.vscode目录下,自动多一个c_cpp_properties.json文件, 用于使用 vscode 自带的代码提示工具,支持代码跳转等, 在这里面进行配置如下:
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "gnu17",
            "cppStandard": "c++11",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

配置一个 tasks.json 文件

  • 进入交互面板,输入task
  • 选择 tasks: Configure Default Build Task
  • 选择 Create tasks.json file from template
  • 选择 Others, 会在.vscode 下面自动创建 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 with GCC", //<-----这个任务的名字在launch.json最后一项配置
            "type": "shell",
            "command": "g++",
            "args": [
              "-std=c++11",
              // "-stdlib=libc++",
              "-g",
              // 生成调试信息,GUN可使用该参数
              "${file}",
              // file指正在打开的文件
              "-o",
              // 生成可执行文件
              // "${fileDirname}/${fileBasenameNoExtension}"
              "${fileDirname}/build/test-lo" //<-----指定需要调试的可执行文件
              // fileDirname指正在打开的文件所在的文件夹
              // fileBasenammeNoExtension指没有扩展名的文件,unix中可执行文件属于此类
            ],
            "options": {
              "cwd": "${workspaceFolder}"
            },
            "problemMatcher": ["$gcc"],
            "group": {
              "kind": "build",
              "isDefault": true
            }
        }
    ]
}

配置 launch.json

  • 使用 vscode 自带的 debug 工具(左侧的小虫图标)
  • 点击生成launch.json文件
  • 选择 LLDB
  • 在.vscode 下自动生成 launch.json 文件, 写入以下配置
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            // "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "program": "${workspaceFolder}/build/test-lo", //<-----自己配置cmake build 生成的可执行文件
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "Build with GCC"
        }
    ]
}

编译自己的cmake工程

mkdir build
cd build
cmake ..
make

打断点调试

注意:一定要切换到需要调试的源代码,然后再点击调试运行按钮(小绿色三角形按钮)

posted @ 2022-09-16 18:15  nanmi  阅读(20)  评论(0编辑  收藏  举报