VSCode断点调试CMake工程项目的实现步骤

 更新时间:2021年03月10日 11:57:53   作者:changshen_xu  
这篇文章主要介绍了VSCode断点调试CMake工程项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

断点调试在【排查代码错误】时,发挥着巨大的作用!本文旨在使用VS Code实现对CMake工程项目的【断点调试】。

初始状态

假设我们已经有一个CMake工程项目(比如从github上直接下载并做了一些修改),且我们可以保证能够编译、运行(换言之,能保证无语法错误,但不能保证无逻辑错误)。

mkdir build && cd build
cmake ..
make -j2
./run_test

以上命令在终端中输入、被(一气呵成从头至尾地)执行。
此时,我们的目标是,在VS Code中实现设置断点,并在运行时停在此处!

两步走!

第一步: 修改CMakeLists.txt中相应语句为Debug模式。
【例】原语句可能在Release模式,如下:

set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")

则,保证修改后为:

set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -Wall -g -ggdb")

该步骤亦应通过在终端输入编译、运行指令,检验并确保无误。

第二步: 在VS Code中配置一个launch.json文件
先上一张结果图,以清晰阐述该过程!

在这里插入图片描述

从图中可以看出,分成了三小步:

a. 配置lauch.json,依次点击黄色框中的“小虫子”和“齿轮”,将打开一个lauch.json的模板。而我们只需要修改其中的一行命令:

"program": "${workspaceFolder}/build/estimate_depth" // 是可执行文件所在的位置

ps. 整个launch.json文件的图片放在了文末。

b. 点击如图位置的build,编译CMake工程项目。

c. 打好断点,运行即可。如图程序停在了断点位置(ps.单步执行了一次,故停在了断点后一行)。

在这里插入图片描述

参考博文:利用VScode和cmake编译构建C++工程代码

到此这篇关于VSCode断点调试CMake工程项目的实现步骤的文章就介绍到这了,更多相关VSCode断点调试CMake内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++构造函数一些常见的坑

    C++构造函数一些常见的坑

    这篇文章主要给大家分享的是C++构造函数一些常见的坑,文章围绕C++构造函数的相关资料展开关于C++构造函数坑的内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • 如何利用OpenGL画坐标轴指示图

    如何利用OpenGL画坐标轴指示图

    C++用opengl绘制出的二维坐标,简单明了,很容易理解,下面这篇文章主要给大家介绍了关于如何利用OpenGL画坐标轴指示图的相关资料,需要的朋友可以参考下
    2022-01-01
  • C/C++语言中的头文件汇总

    C/C++语言中的头文件汇总

    这篇文章主要汇总了C/C++语言中的头文件,方便各位朋友更好的工作和学习,有需要的朋友可以参考下
    2020-06-06
  • C/C++读取大文件数据方式详细讲解

    C/C++读取大文件数据方式详细讲解

    这篇文章主要介绍了C语言/C++读取大文件数据的完整方式过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • 浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

    浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

    下面小编就为大家带来一篇浅谈C语言中strcpy,strcmp,strlen,strcat函数原型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 嵌入式C语言查表法在项目中的应用

    嵌入式C语言查表法在项目中的应用

    今天小编就为大家分享一篇关于嵌入式C语言查表法在项目中的应用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C语言实现单词小助手

    C语言实现单词小助手

    这篇文章主要为大家详细介绍了C语言实现单词小助手,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C++的原生数组你了解多少

    C++的原生数组你了解多少

    这篇文章主要为大家详细介绍了C++的原生数组,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C语言设计前中后队列实例代码

    C语言设计前中后队列实例代码

    队列最主要的作用就是用来管理数据流的,防止数据因为传输频率过快得不到及时处理而丢失,下面这篇文章主要给大家介绍了关于C语言设计前中后队列的相关资料,需要的朋友可以参考下
    2021-12-12
  • C语言每日练习之冒泡排序

    C语言每日练习之冒泡排序

    这篇文章主要介绍了C语言冒泡排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11

最新评论