300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 在ubuntu中使用visual studio code对C/C++文件调试

在ubuntu中使用visual studio code对C/C++文件调试

时间:2019-02-03 22:23:42

相关推荐

在ubuntu中使用visual studio code对C/C++文件调试

文章目录

一、安装Visual studio code(一)从应用商店安装(二)命令行安装二、安装vscode的C\C++插件三、配置launch.json和task.json这两个文件1、配置前的准备2、开始配置三、开始调试

一、安装Visual studio code

在ubantu中安装vscode有两种方法:

(一)从应用商店安装

1、打开ubantu,找到应用商店打开

2、点击右上角搜索按钮出现搜索框,输入visual studio code

3、出现如图搜索结果

4、点进去,点击下载

因为我安装过了,所以显示的是启动和移除,未安装时显示下载,点击即可,可能需要认证密码,输入相应密码即可。

(二)命令行安装

1、首先需要先安装umake命令

sudo apt-get ins umake

已安装可忽略此步骤

2、使用下列命令安装

umake web visual-studio-code

3、选择”是“,输入 y,回车

4、出现即将安装到的目录,自行设置,回车

5、回车后会出现以上一连串的文字和最后的选项,输入a,回车,等待安装成功

6、安装成功。

二、安装vscode的C\C++插件

1、打开visual studio code

2、点击右上角的搜索按钮,打开搜索框,输入exit install cpptools

3、搜索结果如图,选择C/C++,install

4、安装成功,重启即可。

三、配置launch.json和task.json这两个文件

1、配置前的准备

创建一个新的文件夹GDB,文件夹中只存放你想要调试的.c或.cpp文件,如图。

注意用vscode调试的话只能打开包含源码文件的文件夹,不能打开单个文件调试。

2、开始配置

打开vscode,单击右上角的File,选择Open Folder

选择新建的GDB文件,右上角确定

确定之后点击左边菜单栏第四个按钮,如图

出现如下图窗口,点击Run and Debug,出现2处的窗口,选择C++(GDB)

选择gcc-7 生成和调试活动文件

生成launch.json文件

然后选择Terminal菜单栏中的Configure Tasks,vscode会自动生成适用于gcc编译的tasks.json文件,

在tasks.json文件第9行原有的内容后面增加"${fileDirname}/gdbtiaoshi.c",,注意不要忘记最后的逗号。(gdbtiaoshi.c是你需要调试的.c文件)

三、开始调试

在箭头指向的地方调出你的.c文件

来到gdbtiaoshi.c文件,先按下组合键ctrl+shift+B,再点这个绿色的按钮

点击完成后是这样的效果

输入123,输出321,程序正确

输出100,输出010,程序错误

此时需要设置断点寻找程序错误的地方,设置断点的方法就是在程序行数的左边单击,出现一个小红点就是设置成功。

这是我设置的断点

设置断点之后,重新按组合键ctrl+shift+B,点击绿色按钮,在底下的终端窗口输入100,单击中间的单色小三角,左边会出现iNum的值

不断单击蓝色按钮进行调试,此时发现iNum的值变成了10

再单击一次,发现程序跳出了运行

此时程序输出010,是错误的,那我们发现,当iNum=10时候已经跳出了循环,导致输出错误,那我们要修改语句,把while (iNum >=10)改成while (iNum >= 10),当iNum=10的时候依然进入循环。

修改之后,按组合键ctrl+shift+B,点击绿色按钮再次运行程序,此时输入100再一步步调试,发现iNum=10之后继续循环.

当iNum=1时结束循环

最后的输出结果001,程序正确。

总结:以上就是在ubantu中用visual studio code编译C文件的相关内容,利用各种可视化调试前端软件(后端依然依赖gcc、gdb)进行程序代码的跟踪查错,可以提供工作效率。

参考资料:

链接: /lwp-king666/p/10513382.html.

链接: /q932104843/article/details/51924900.

链接: /maxiaowei0216/p/12616087.html.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。