ubuntu 上vscode +cmake的debug调试配置方法

在ubuntu配置pcl点云库以及opencv库的时候,需要在CMakeLists.txt中加入相应的代码。配置完成后,无法调试,与在windows上体验vs studio差别有点大。

找了好多调试debug配置方法,最终能用的有几种,但是有一种特别好用,具体不清楚原理,但是不用配置含路径和库文件路径和文件,简直是让人惊叹。

有人配置c_cpp_properties.json,我没有配置,网上说是这个相当于配置 IntelliSense 功能,我只配置了 tasks.json 和launch.json文件。

1. task.json

{   
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build"
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake",
            "command": "cmake",
            "args": [
                ".."
            ]
        },
        {
            "label": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "make",
            "args": [

            ]
        },
        {
            "label": "Build",
            "dependsOrder": "sequence", // 按列出的顺序执行任务依赖项
            "dependsOn":[
                "cmake",
                "make"
            ]
        }
    ]
}


2.launch.json,其中program要换成自己的可执行文件

{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/devel/lib/litamin2/litamin2_align",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

3.要在CMakeLists.txt中加入:

set(CMAKE_BUILD_TYPE "Debug")

并去掉优化选项(比如O3优化等),否则会乱跳。

4.调试

点击三角形+爬虫的 符号,进入调试,选择

选择这一个就可以开始编译+调试了。

在这里有一个技巧:如果事先在终端中cmake .. 和make之后,这里调试启动就特别快。

参考:

https://zhuanlan.zhihu.com/p/688006076

相关推荐

  1. Ubuntuwps调用zotero方法

    2024-07-14 13:46:03       56 阅读
  2. syslog定期rotate和限制其size配置方法ubuntu

    2024-07-14 13:46:03       50 阅读
  3. Ubuntu 16.04安装和配置VNC方法

    2024-07-14 13:46:03       31 阅读
  4. Ubuntu 14.04安装和配置VNC方法

    2024-07-14 13:46:03       25 阅读
  5. Ubuntu Vim 安装、配置

    2024-07-14 13:46:03       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 13:46:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 13:46:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 13:46:03       58 阅读
  4. Python语言-面向对象

    2024-07-14 13:46:03       69 阅读

热门阅读

  1. 升级springboot3.2集成shiro的问题

    2024-07-14 13:46:03       28 阅读
  2. 后端老鸟的前端初探:心得与领悟20240713

    2024-07-14 13:46:03       24 阅读
  3. 安卓热门面试题二

    2024-07-14 13:46:03       24 阅读
  4. StringBuilder

    2024-07-14 13:46:03       19 阅读
  5. python-生成器generator

    2024-07-14 13:46:03       21 阅读
  6. ACE之ACE_Handle_Set

    2024-07-14 13:46:03       20 阅读
  7. 微服务有哪些组件?

    2024-07-14 13:46:03       19 阅读