当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/399637.html

相关文章:

  • 使用Redis实现签到功能:Java示例解析
  • tableau标靶图,甘特图与瀑布图绘制 - 9
  • 双向链表专题
  • SpringCoud组件
  • 向量的定义和解释
  • IoTDB 集群高效管理:一键启停功能介绍
  • 一个spring boot项目的启动过程分析
  • 智驭未来:人工智能与目标检测的深度交融
  • 01MFC建立单个文件类型——画线
  • 免杀中用到的工具
  • [vite] Pre-transform error: Cannot find package pnpm路径过长导致运行报错
  • Promise总结
  • ROI 接口便捷修改
  • jenkins打包java项目报错Error: Unable to access jarfile tlm-admin.jar
  • SQL Server设置端口:跨平台指南
  • ActiveMQ-CVE-2023-46604
  • TensorBoard ,PIL 和 OpenCV 在深度学习中的应用
  • 【超音速 专利 CN117576413A】基于全连接网络分类模型的AI涂布抓边处理方法及系统
  • iPhone数据恢复篇:iPhone 数据恢复软件有哪些
  • Html5+Css3学习笔记
  • WPF学习(2) -- 样式基础
  • 独家揭秘!五大内网穿透神器,访问你的私有服务
  • Ubuntu 编译和运行ZLMediaKit
  • 基于JavaSpringBoot+Vue+uniapp微信小程序校园宿舍管理系统设计与实现
  • Hive的基本操作(创建与修改)
  • Linux开发讲课37--- ARM的22个常用概念
  • 7-1、2、3 IPFS介绍使用及浏览器交互(react+区块链实战)
  • CentOS 7 中出现 cannot open Packages database in /var/lib/rpm 错误
  • 【java深入学习第6章】深入解析Spring事件监听机制
  • Flask与Celery实现Python调度服务