7

实战|C++在vscode上的调试配置

 3 years ago
source link: https://mp.weixin.qq.com/s/q8Tw1yVTDbECON84BojIgA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

实战|C++在vscode上的调试配置

Original 大菊象 3D视觉工坊 2/27
收录于话题
#学习资源&求职&编程

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

Image

⽬标 

按照本⽂的流程可在vscode平台上实现像在windows系统下VS调试C++程序的效果。本⽂旨在让刚接触vscode却⼜不知如何 debug的童鞋能够快速搭建⾃⼰的编程环境,使更多的精⼒focus在coding或algrithm上,若有错误的地⽅,欢迎指正和交流。废话不多说,下⾯我们就开始吧!

环境与安装

本⽂的配置环境是ubuntu16.04。⾸先我们先到Visual Studio Code的官⽅⽹站下载.deb⽂件,以下直接给出⽹址:

https://code.visualstudio.com/

进⼊官⽅后是这个样⼦的:

Image

对,没错,直接点击那个.deb⽂件即可,你的浏览器这个时候应该会⾃动下载,请耐⼼等候:

640?wx_fmt=png

下载完成之后直接安装.deb⽂件:

sudo dpkg -i code_VERSION_amd64.deb

运⾏与插件 

安装完成之后,可以按下左上⾓的搜索菜单,输⼊code,可以找到vscode,左键点击即可进⼊。为了⽅便,可⽤⿏标按住图标拖 动到任务栏,这样以后直接点击图标就能打开:

640?wx_fmt=png

当 然最⽅便的还是⽤终端打开,可以打开任意路径下的⽂件夹:

code ./YOUR/WORKSPACE/PATH 

打开之后,该⽬录下的所有⽂件和⽂件夹都在左侧:

640?wx_fmt=png

在调试程序之前还需要安装⼀些vscode的插件,操作⾮常简单快捷。直接点击左侧第五个按钮,在⾥⾯搜索⼀些⽀持C++的插件,⽐如下图中的C/C++,C++ Intellisense,直接搜索插件名字后点下载就会⾃动安装,安装完了就会在下图的ENABLED列表⾥了。

640?wx_fmt=png

这⾥推荐使⽤⼀个使⽤的括号显⽰插件:Bracket Pair Colorizer,在代码中括号很多的时候,不同的括号对⽤不同颜⾊区分,并且在代码很⻓的时候,点击某个括号可显⽰与其配对的括号,如下图:

640?wx_fmt=png

调试配置

当写好代码和CMakeLists.txt之后,点击左侧Run and Debug按钮(⻓得像个⾍⼦),点击create a launch.json file,创建⼀个叫launch.json的⽂件。

640?wx_fmt=png

本⽂的vscode版本较新,旧版本可能界⾯不太⼀样,可直接点击下图中的⻮轮按钮,此时界⾯中⼼会弹出选项,直接点击第⼀个 C++(GDB/LLDB),然后点最后⼀个默认的即可:

640?wx_fmt=png
640?wx_fmt=png

此时,vscode会⾃动创建⼀个launch.json⽂件,这个launch.json⽂件在⾃动创建的隐藏⽂件夹.vscode下(⽂件夹中按 ctrl+H就可以显⽰隐藏⽂件),只需要改2个地⽅:

  • “program”:你的程序编译出来的可执⾏⽂件(⽤cmake先编译出⼀个可执⾏⽂件,只需要第⼀次,⼀旦后续配置好了就直接 按F5)

  • “preLaunchTask”:新添加⼀个选项为build,这样每次F5调试才会重新编译⽣成新的可执⾏⽂件,否则只是执⾏

  • “externalConsole”:如果是true,每次按F5调试会⾃动弹出⼀个额外的终端,程序内容会在这个弹出的终端下运⾏和显⽰, 但是每次调试完了还要⼈⼯关闭。若是false,程序会在vscode下⾯的界⾯运⾏和显⽰,有点像VS

640?wx_fmt=png

接下去只要再弄2个⽂件,就可以debug你的项⽬了,第⼀个是tasks.json⽂件,可以在⽹上搜索如何⽣成,不过更直接的⽅ 式是直接在.vscode下新建⼀个tasks.json⽂件,然后把以下内容直接复制上去,图中和默认tasks.json⽂件不同的地⽅是”command”选项,这边改成build.sh,这个build.sh是⼀个脚本,可以⾃定义做很多事情:

640?wx_fmt=png

第⼆个就是刚才提到的build.sh⽂件,这个脚本⽂件随便叫啥名字,⾥⾯随便做啥事情,每当按F5之后,会⾃动运⾏这个脚本 ⾥的事情,⽐如这⾥的build.sh:

640?wx_fmt=png

调试代码 

⼀切就绪之后,设好debug断点,直接按F5开始愉快的调试吧!F5直接运⾏到断点或结束,F10单步调试等(与windows下VS 操作类似)

640?wx_fmt=png

总结 

在vscode下配置C++调试环境主要就是做⼀件事:创(复)建(制)1个⽂件夹和3个⽂件:

  • launch.json 

  • tasks.json 

  • 编译执⾏的脚本:例⼦中的脚本内容实际就是cmake内容

:本文作者为我们星球嘉宾。

上述内容,如有侵犯版权,请联系作者,会自行删文。

推荐阅读:

重磅!3DCVer-知识星球和学术交流群已成立

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导,550+的星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款640?wx_fmt=jpeg 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

640?wx_fmt=jpeg▲长按加群或投稿

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK