vscode利用cmake调试

vscode配置cmake插件,进行debug

配置launch.json文件如下:

{
    // 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": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            // Resolved by CMake Tools:
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

运行vscode左下角的角标,如下

依次运行,cmake,build,debug

其中将[all]切换为想要进行debug的可执行文件

点击debug(虫子型图标),会提示`Target debugging is no longer supported with the legacy driver`

解决方法:

查看自己的cmake版本,ubuntu16.04 默认安装的cmake为3.5.1版本

vscode的cmake插件要求cmake>=3.7.1

更新自己的cmake,重新打开vscode,依次运行,cmake,build,debug即可

 

附cmake更新教程,转自

1. 卸载已经安装的旧版的CMake[非必需]

apt-get autoremove cmake

2. 文件下载解压:

wget https://cmake.org/files/v3.9/cmake-3.9.1-Linux-x86_64.tar.gz

解压:

tar zxvf cmake-3.9.1-Linux-x86_64.tar.gz

查看解压后目录:

tree -L 2 cmake-3.9.1-Linux-x86_64
cmake-3.9.1-Linux-x86_64
├── bin
│   ├── ccmake
│   ├── cmake
│   ├── cmake-gui
│   ├── cpack
│   └── ctest
├── doc
│   └── cmake
├── man
│   ├── man1
│   └── man7
└── share
    ├── aclocal
    ├── applications
    ├── cmake-3.9
    ├── icons
    └── mime

12 directories, 5 files

bin下面有各种cmake家族的产品程序.

3. 创建软链接

注: 文件路径是可以指定的, 一般选择在/opt 或 /usr 路径下, 这里选择/opt

mv cmake-3.9.1-Linux-x86_64 /opt/cmake-3.9.1
ln -sf /opt/cmake-3.9.1/bin/*  /usr/bin/ 

然后执行命令检查一下:

>>>cmake --version
cmake version 3.9.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
>>>
>>>cmake-gui

OK。现在cmake最新版本安装成功。 
cmake图形化界面

CMake的官方书籍很贵,并且总是晚于实际最新版本,如果想看最新的文档,建议参考: 
https://cmake.org/cmake-tutorial/

参考: 
ubuntu下cmake的GUI界面 
Ubuntu下安装最新版本的CMake

 

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是使用CMake在VSCode中进行调试的步骤: 1. 确保已经安装了CMake调试器(例如GDB)。 2. 在项目根目录下创建一个名为`CMakeLists.txt`的文件,并编写CMake配置。 3. 在VSCode中打开项目文件夹,并安装CMake Tools和C/C++插件。 4. 在VSCode的设置中,添加CMake的路径,并在CMake Tools的设置中配置CMake的路径和生成目录。 5. 在VSCode的调试选项卡中,创建一个名为`(gdb) Launch`的配置,并设置`program`为可执行文件的路径。 6. 在源代码中设置断点,并使用调试器来跟踪程序的执行。 下面是一个示例`CMakeLists.txt`文件: ```cmake cmake_minimum_required(VERSION 3.10) project(MyProject) set(CMAKE_CXX_STANDARD 11) add_executable(MyProject main.cpp) ``` 下面是一个示例的VSCode配置: ```json { "cmake.configureSettings": { "CMAKE_BUILD_TYPE": "Debug" }, "cmake.buildDirectory": "${workspaceFolder}/build", "cmake.configureOnOpen": true, "cmake.generator": "Unix Makefiles", "cmake.path": "/usr/bin/cmake", "cmake.sourceDirectory": "${workspaceFolder}", "cmake.toolsPath": "/usr/bin", "cmake.useCMakeServer": true, "cmake.configureArgs": [ "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ], "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", "C_Cpp.default.compilerPath": "/usr/bin/g++", "C_Cpp.default.includePath": [ "${workspaceFolder}/**" ], "C_Cpp.default.intelliSenseMode": "gcc-x64", "C_Cpp.default.browse.path": [ "${workspaceFolder}" ], "C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true, "C_Cpp.default.browse.databaseFilename": "" } ``` 下面是一个示例的`launch.json`文件: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/MyProject", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb" } ] } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值