原创Linux环境下使⽤vscode调试cmake⼯程
我相信⼤家会经常在linux下会经常去编译别⼈写好的或者⾃⼰写好的⽤cmake组织的C/C++⼯程
mkdir build && cd build && cmake ../ && make && sudo make install && ldconfig
等等这⼀套操作下来,看着命令⾏的飞速滚动很爽
但是我们也会经常遇到这种需求,就是你需要去改变别⼈项⽬⾥⾯的⼀些源代码,这个时候你该怎么办呢?
通常情况下,我们会⽤vim打开相应的⽂件,然后修改,再执⾏⼀遍上述操作。
但是,如果遇到bug了呢,我们该怎么去调试呢,或者是单纯想要看看这种项⽬的中间运⾏状态呢?
⼀般情况下我们会去⽤gdb去调试,但是很不⽅便,起码我是⽤不惯。
有⼈说啦,vim很强⼤,可以⽀持各种插件,打造⾃⼰的ide,听起来很美好,但是当我打开那个配置教程的时候
我内⼼是崩溃的,我觉着没有个半天1天时间的我是学不会那些东西的,⽽且我内⼼⾥总觉着那些东西太
极客了,有点的成分在⾥⾯。
这与我的主要⽬的去调bug好像并没有什么关系,于是我决定决定要⽤懒⼈的⽅法。
我就是想在linux下⼀个好⽤的ide,之前我⽤过clion,但是这个东西特别巨⼤,⽽且在我的虚拟机运⾏的ubuntu上⽼是显⽰的很奇怪,甚⾄还会有重影的现象,我受不了,遂弃之。
今天尝试了⼀下vscode,早就⽿闻这个东西很好,我之前在做前端开发的时候也⼀直在⽤,现在准备拾起来让他去搞我的C/C++项⽬。
但是我尝试了第⼀把,就很不舒服,遇到了很多坑。
⾸先呢,我在搜⽹上相关⽂档的时候就没有很匹配的,⽐如,我就想解决这种已经被cmake组织好的项⽬,我在vscode⾥⾯再怎么去配置,让他能够直接在vscode⾥⾯去⽣成可以debug的代码。
我的需求就是这样,但是⽹上的⽂章要么是说如何从0搭建⼀个项⽬,这显然与我的要求不符,要么是⼀些vscode官⽅⽂档这种⼤部头,我也不爱看,真的不是很实⽤。
下⾯是正⽂,教⼤家如何⽤vscode 调试已有的cmake⼯程。
安装之后呢,这个vscode在命令⾏⾥⾯的名称叫code,这个有点意思,我也不知道为啥不叫vscode
2. 安装插件,主要是装⼏个cmake和c++的⼀些插件
装插件的⽅法就是在点击⽅块按钮,搜索插件名字安装即可,下图就是我安装的⼏个插件,⼤家按照图⽚装上就好了
安装的⼏个插件
cmake如何使用
3.  导⼊⽂件夹,在file中的open folder导⼊你的项⽬⽬录
4. 下⾯是最重要的配置launch.json⽂件,这个⽂件的作⽤是配置调试的相关信息
当按F5之后会⾃动跳出来⼀个launch.json,但是⼀定要注意要修改⼏个参数,
修改program字段,workspaceFolder就是你导⼊的⽂件夹的⽬录,然后你需要指定⼀个可执⾏⽂件进⾏调试
如果你在运⾏这个可执⾏⽂件的时候需要参数,可以在args字段中配置。
最终要的是externalConsole字段,默认配置是true,但是我在ubuntu下的时候,当开始调试的时候,会⼀直卡着,我将这个值改为false了之后,就可以正常调试了
为了得到更多的调试信息,可以在加⼊⼀个logging字段
5. 然后是最关键的操作步骤了
⾸先你要先让vscode⽣成相应makefile啊,类似以前的cmake ../
在这个地⽅,你需要点击底部的⼩篮筐⾥⾯的Cmake:Debug:Ready选项
之后会蹦出
因为我们需要调试,所以需要点击Debug这个选项,这样他就可以⾃动⽣成⽀持调试的makefile了
之后可以在output框中看到cmake程序在运⾏
运⾏成功后,我们要进⾏make编译,这个地⽅需要选择合适的编译器,同样是在⼩篮框的位置,可以进⾏编译器的选择,点击之后会蹦出可以选择的编译器
可选择的编译器
⼤家根据⾃⼰的项⽬⽽定,在这⾥我要编⼀个c++的项⽬,所以我选择的是GCC 5.4.0
然后就可以点击⼩蓝框的build了
⼤家同样可以在output中看到我们进⾏了make
⾄此,我们已经⽣成了可以进⾏debug的可执⾏⽂件,我们就把它卸载launch.json⽂件中的program字段中就好了
然后我们就可以进⾏launch调试了
经过⼀下午的努⼒,我终于⽤vscode调试成功了,真的很⽅便,可以在GUI下设置断点,还是⾮常⽅便的,观察变量的值也是⾮常的⽅便,欢迎⼤家都操作起来~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。