Ubuntu16.04 中 Vscode 如何断点调试C语言程序
问题:环境是 Ubuntu16.04,如何使用 Vscode 断点调试C语言程序。
写代码没有调试环境是不能忍受的,所以折腾了一下,最后成功了。折腾的过程是这样的:
1、 首先安装 C/C++ 扩展,直接搜索第一个就是,或者点此 链接 查看其帮助文档进行安装。

2、然后打开当前项目目录,左边点调试选项,点击添加配置,生成了一个launch.json文件,其内容如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/LearnC/bin/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}]
}
所有内容都是默认生成的配置,我只是修改了"program"这一行,指定为编译后的可执行文件。这样,调试的时候默认调试这个文件。
相关操作截图:

选择 add configuration

选择 C++(GDB/LLDB)
3、编辑代码,完成后,首先要编译,命令如下:
$ gcc -g -o /path/LearnC/bin/a.out [[SOURCE_FILE]]
第一个路径指定生成后的文件,一定要是之前program参数指定的文件路径,SOURCE_FILE表示C语言文件路径。
4、然后打开调试,我的快捷键是F5,打开之后,就能直接运行到断点处了,效果如下:

PS - 个人博客原文:Ubuntu16.04 中 Vscode 如何断点调试C语言程序
Ubuntu16.04 中 Vscode 如何断点调试C语言程序的更多相关文章
- SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- 在ubuntu16.04中再次体验.net core 2.0
在上一篇文章中在ubuntu16.04中初次体验.net core 2.0 简单介绍了一下ubuntu中运行.net core 2.0.配置nginx反向代理以及安装supervisor守护进程……本 ...
- ubuntu16.04中可以用于教学的有趣的应用
ubuntu16.04中可以用于教学的有趣的应用 在ubuntu自带的软件中心里,内置了非常丰富的教育应用,可以用于物理,化学等科学课教学,只选取我用过用于教学的软件,优秀的软件不止这些,可以慢慢发掘 ...
- ubuntu16.04中docker安装curl拒绝连接问题
在Ubuntu16.04中安装docker ce,安装步骤按照官网说明https://docs.docker.com/engine/installation/linux/docker-ce/ubunt ...
- Ubuntu16.04中Mysql 5.7 安装配置
记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...
- 关于在windows上远行的虚拟机为ubuntu16.04中不能复制和粘贴的问题解决方案
Linux安装 VMware tools 工具解决复制和粘贴的方法 VMware虚拟机中如何安装VMWare-Tools详解好处:可以支持图形界面,可以支持共享文件功能等 1 工具/原料 1)安装过虚 ...
- VSCode+Xdebug断点调试PHP(全攻略)
一直都想把php断电调试记录下来,由于拖延症极其严重导致现在才写. 好了,刚去猛喝了几碗心灵鸡汤,趁着这股劲把"Visual Studio Code如何使用XDebug进行php断点调试&q ...
- Ubuntu16.04中搭建TFTP 和 NFS 服务器
Ubuntu 16.04中搭建TFTP服务 1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立t ...
- phpStorm中使用xdebug断点调试php代码
配置好xdebug,也能使得phpstorm像java哪像跑断点调试,爽的一笔!!! 下载xdebug并配置 [XDebug] zend_extension=php_xdebug-2.4.0rc3-5 ...
随机推荐
- Mapreuduce实现网络数据包的清洗工作
处理后的数据可直接放到hive或者mapreduce程序来统计网络数据流的信息,比如当前实现的是比较简单的http的Get请求的统计 第一个mapreduce:将时间.十六进制包头信息提取出来,并放在 ...
- Android开发学习必备的java知识
Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...
- Kettle参数化配置
Kettle参数化配置 在做系统化的Kettle实现方案,我们基本要定义一些不变的参数,在整个生命周期中使用,或者设置一些特定的参数,在一些特定的JOB中使用.参数化配置有利用我们Kettle实现规范 ...
- sizeof计算空间大小的总结
sizeof,看起来还真不简单,总结起来还是一大堆的东西,不过这是笔试面试中出现比较频繁的,我也是考过才觉得很重要,有些规则如果不注意,还真是拿到一道题目摸不着头脑,所有总结一下,方面忘记的时候瞄一瞄 ...
- python语言中的AOP利器:装饰器
一.前言 面向切面编程(AOP)是一种编程思想,与OOP并不矛盾,只是它们的关注点相同.面向对象的目的在于抽象和管理,而面向切面的目的在于解耦和复用. 举两个大家都接触过的AOP的例子: 1)java ...
- caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
一.效果与架构 PPGN 整合了对抗训练.cnn特征匹配.降噪自编码.Langevin采样:在NIPS2016得到了Ian Goodfellow的介绍. PPGN生成的图像同类差异化大,可根据指定生成 ...
- DAVINCI DM6446 开发攻略——V4L2视频驱动和应用分析
针对DAVINCI DM6446平台,网络上也有很多网友写了V4L2的驱动,但只是解析Montavista linux-2.6.10 V4L2的原理.结构和函数,深度不够.本文决定把Montavis ...
- linux驱动---用I/O命令访问PCI总线设备配置空间
PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流.目前,国内的许多技术人员已经具备开发PCI总线接口设备的能 力.但是PCI总线的编程技术,也就是对PCI总线设备的操 ...
- EJB相关的面试题
1.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别. (1)EJB包括Session Bean.Ent ...
- 芝麻HTTP: Scrapy小技巧-MySQL存储
这两天上班接手,别人留下来的爬虫发现一个很好玩的 SQL脚本拼接. 只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理 ...