在Linux上使用vscode编译调试C/C++代码

在linux下搬砖C/C++的姿势有点辛苦,所以想着是不是可以用更优雅一些的姿势搬砖,尤其是debug。然而,如果我们用CMake来组织工程(因为我们已经大量的使用了CMake文件来组织工程),那么就不只是涉及vscode设置的问题。

目录

  • 一,需要用到的东西
  • 二、编译和调试
  • 三、cmake插件编译+vscode调试

主要参考如下链接(官方文档):
Using C++ on Linux in VS Code(https://code.visualstudio.com/docs/cpp/config-linux)

一,需要用到的东西

(1)GCC(g++)作为编译器
(2)GDB作为调试器
(3)VS code作为编辑器,可以下载相关的扩展插件(C/C++插件,CMake插件),从而组织成IDE使用
(4)CMake用于处理依赖,组织工程文件

二、编译和调试

按照参考官方网页里的介绍,简单的编译设置非常简单。
(1)安装C/C++插件
(2)Terminal->Configure default build task 自动生成tasks.json文件(较大的工程,就在于组织tasks了)
(3)Ctrl+Shift+B编译出可执行文件

对应的设置,会生成相应的配置文件,文件写的好,一次生成,多处使用即可:
tasks.json (compiler build settings)

主要是调试上会方便很多,主要是对上层应用程序开发过程的调试和问题定位,很直观的断点设置,单步执行等。也会生成对应的设置文件,一次生成,多处使用:
launch.json (debugger settings)

三、cmake插件编译+vscode调试

既然打算用CMake了,其实简单编译的tasks.json和launch.json可以省了,各种依赖如果已经组织好,在VScode里编译起来就很简单了。当然在命令行里用CMake组织好的工程,编译也很简单,mkdir & cd build, cmake …, make 就可以了。
在VScode里面操作的话,对于组织好cmake的工程,直接调用CMake插件就编出来了,当然如果有问题就得排错,只是打印信息是在VScode里面还是在shell里的差别,需要调试的情况下,使用VScode进行调试才会显示出效率来。

但是,仔细想想看,也仍然是对于有main入口函数的应用程序工程有帮助,对于库工程的问题定位,似乎仍然得回到在命令行里挂gdb或加打印信息的方式。

你可能感兴趣的:(工程实践总结,c++,cmake,vscode)