前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战|C++在vscode上的调试配置

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

作者头像
3D视觉工坊
发布2020-12-11 16:57:44
3.9K0
发布2020-12-11 16:57:44
举报
文章被收录于专栏:3D视觉从入门到精通

⽬标

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

环境与安装

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

https://code.visualstudio.com/

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

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

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

sudo dpkg -i code_VERSION_amd64.deb

运⾏与插件

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

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

code ./YOUR/WORKSPACE/PATH

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

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

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

调试配置

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

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

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

  • “program”:你的程序编译出来的可执⾏⽂件(⽤cmake先编译出⼀个可执⾏⽂件,只需要第⼀次,⼀旦后续配置好了就直接 按F5)
  • “preLaunchTask”:新添加⼀个选项为build,这样每次F5调试才会重新编译⽣成新的可执⾏⽂件,否则只是执⾏
  • “externalConsole”:如果是true,每次按F5调试会⾃动弹出⼀个额外的终端,程序内容会在这个弹出的终端下运⾏和显⽰, 但是每次调试完了还要⼈⼯关闭。若是false,程序会在vscode下⾯的界⾯运⾏和显⽰,有点像VS

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

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

调试代码

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

总结

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档