emacs c语言,如何利用Emacs来调试C++程序

俗话说,Emacs是神的编辑器,而Vim是编辑器之神。高手程序员都是用这两样神器进行开发。本人觉得,Emacs之所以厉害,是因为许多在其他编辑器下必须用鼠标点选很多步的操作,在Emacs下都可以通过键盘来完成。大大地节省了你在显示器上找按钮的时间。Emacs在Linux上运行感觉比windows流畅些,用Emacs编辑程序时,手基本不用离开键盘,就可以完成所有的工作。那么今天就让我们看看如何利用Emacs来调试C++程序。

一、安装Emacs和GCC

二、配置emacs和GCC

Emacs建议大家把显示行号打开。具体操作是:在C:\Users\maple\AppData\Roaming下有个.emacs文件,打开它,加入(global-linum-mode t)并保存,注意括号也要一并写上。

GCC添加路径到Path环境变量,确保在cmd下用g++命令能正确执行。

三、写程序,编辑

我们新建一个文件,然后用Emacs打开(Emacs的操作方式有时间再介绍了,大家可以跟着里面自带的教程学习)。

a3a2007105476844e4c1392d9090cadf.png

我们先保存。然后利用Emacs调用GCC,按S-M-1

7095d15d912b51c3171208450cb93219.png

出现让你输入shell命令,在这就是控制台命令啦。我们输入g++ testdbg.cpp -g -o testdbg.exe

e195d15f07964be3ce133c4477694c23.png

编译正确。这时我们打开Tools->GDB进行调试,我们发现,Emacs多了几个按钮。如下图:

c50d9978d6da83c6ac27e5f1bdf2e5fd.png

四、调试

1、设置断点

输入break 5,表示在第五行设置断点,我们发现左边多了个小红点。那就是断点的位置。

99cae7a60a57e1bcab412d73b1bc2270.png

2、运行程序

输入run执行程序,程序执行后停在断点处。

e05673ba7d9f52174c92312f6c4ad117.png

3、单步执行

输入step能够单步执行,在GDB中,直接按回车能重复上一步的动作。

4、打印变量

使用print 变量,能打印出当前变量的值。

d3fbd5cdd671df0fdd09995cee559956.png

五、总结

使用Emacs,摆脱了各种IDE的束缚,能够极快地进行小模块的开发,Emacs还带有查看十六进制文件的功能,在linux上,替代了winhex的工作,能进行文件的比较,这些以后有时间再讲到。GDB是GCC附加的一个功能强大的调试器,深受广大程序员的喜爱,其中关于GDB的资料,大家可以查查手册。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring rmi_Spring集成–使用RMI通道适配器

spring rmi1.引言 本文介绍了如何使用Spring Integration RMI通道适配器通过RMI发送和接收消息。 它由以下部分组成: 实施服务:第一部分着重于创建和公开服务。 实现客户端:显示如何使用MessagingTemplate类调用服务。 抽象SI逻辑&#xf…

Java:如何在不到5分钟的时间内通过Hazelcast提高生产力

如果要使用Hazelcast内存数据网格(IMDG)来加快数据库应用程序的速度,但是要处理数百个表怎么办? 手动编码所有Java POJO和序列化支持将需要数周的工作,完成后,手动维护该域模型将很快成为一场噩梦。 阅读本…

android 自定义baseadapter listview,android之ListView和BaseAdapter的组合使用

BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决。BaseAdapter是一个抽象类,所以需要自定义一个类来继承BaseAdapter。BaseAdapter中所必须重写的方法的意义:…

layui datetimepicker 只日期范围到当前时间的前一天_浪琴手表如何正确调整日期?手表调日期的方法...

浪琴手表怎么样?先看下品牌知识浪琴表起源于1832年,由一位年青商人Auguste Agassiz创办。他以自己的名字在瑞士Saint-Imier开始经营钟表生意,其后,他的侄儿Ernest Francillon巧妙地把其业务拓展为较具规模的钟表公司,于1866年在瑞…

尚未提交线上版本_ABRSM 线上演奏考试报名指引(目前考试仅限英国 amp; 部分国家及地区)...

昨天,ABRSM英国公布了2021年英国本土和亚洲部分地区演奏、乐理的“线上、线下”报名及考试时间,虽然中国大陆的考试时间为“待定”状态,但为了满足考生和家长了解线上演奏考试报名流程,今天我们就为大家作一个详尽的线上考试报名指…

关于以太网光纤收发器,逻辑隔离与物理隔离的理解与区别

现如今,随着以太网的广泛应用,在很多领域,比如说电力、银行、公安、部队、铁路、大型企事业单位专网有广泛物理隔离的以太网接入需求,但是什么是物理隔离以太网呢?什么又是逻辑隔离以太网呢?我们该如何判断…

javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第2部分

javafx 自定义控件自从我开始创建Nest恒温器FX自定义控件以来,已经有一段时间了! 因此,上次,正如Gerrit Grunwald所建议的那样,我花了一些时间使用inkscape复制Nest恒温器设计,这是构建JavaFX版本的第一步。…

初中参观机器人博物馆的作文_展馆导览机器人好不好用?小笨展馆机器人案例...

每次科技发展都会给社会带来技术变革,例如工业革命时代的纺纱机,发电机等,极大地提高了生产效率,推动了社会的进步。二十一世纪,人工智能成为了当下技术变革的排头兵,机器人作为其载体已经被应用在各类展馆…

同底数幂比较大小方法_知识体系构建:初中数学4大知识点及10大解题方法总结(干货)...

基本知识1.数与代数A、数与式:1. 有理数■ 有理数:①整数→正整数/0/负整数②分数→正分数/负分数■ 数轴:①画一条水平直线,在直线上取一点表示0(原点),选取某一长度作为单位长度,规定直线上向右的方向为正…

4路电话光端机概述及产品特性详解

4路电话光端机,采用桌面型机箱结构设计,提供来电显示功能的4路普通电话接口。那么,关于4路电话光端机的功能、应用及产品特性这一块你是否了解呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧! 4路电话光端机概…

word如何一键全选_学会这七个Word小技巧,五分钟完成3小时的工作

在办公中我们最常用的就是Word,而掌握一些常用Word小技巧,可以助力我们的办公效率,从此和加班说拜拜。今天就让我们一起来看看有哪些我们常用的Word小技巧,快点赞收藏起来吧~一、 Word小技巧汇总1. 文档加密限制编辑有时一些重要文…

服务器日志记录_5种改善服务器日志记录的技术

服务器日志记录在最近的时间里,我们已经看到了许多工具可以帮助您理解日志。 开源项目(例如Scribe和LogStash),内部部署工具(例如Splunk)以及托管服务(例如SumoLogic和PaperTrail)。…

#让人物运动_篮球人物之黄云龙,淡泊名利的他是篮球运动员中的楷模,你可记得...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到最新文章了。 说起CBA联赛&#xff…

HDMI光端机基本知识及相关品牌介绍

因技术的提高,光纤价格的降低使它在各个领域得到很好的应用,因此各个光端机的厂家就好比是雨后春笋般发展起来。但是这里的厂家大部分技术并不是完全成熟,开发新技术需要耗资和人力、物力等,这就产生厂家多是中小企业,各品牌也先后出现。但是…

线程,代码和数据–多线程Java程序实际运行的方式

有些事情是您在学术或培训班上没有学到的,经过几年的工作经验后才逐渐了解,然后才意识到,这是非常基本的事情,我为什么错过了这么多年。 了解多线程Java程序的执行方式就是其中之一。 您肯定已经听说过线程,如何启动线…

HDMI光端机是什么?hdmi光端机产品参数及性能特点介绍

HDMI光端机就是光信号传输的终端设备。在广泛领域应用中,往往需要把HDMI信号源输送远处进行处理。最为突出的问题有:远处接收到的信号出现偏色、模糊,信号产生重影和拖尾及网纹干扰。(多模)/(单模)HDMI视频光端机发送器和相应的光收发系列产品…

html中的保存功能代码怎么写,java保存html代码怎么写

java保存html代码怎么写[2021-01-31 03:29:24] 简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff…

hdmi光端机运用于多媒体信息发布系统案例介绍

杭州飞畅科技HDMI光端机运用于多媒体信息发布等应用系统中,能将HDMI音视频信号进行远距离传输。用普通的HDMI电缆长距离传输,会出现信号差,容易受干扰,显示出来的图像会出现模糊、拖尾、分色等现象。如果传输距离短,就…

西门子实数转整数_西门子PLC指令全都翻译过来了!

点击蓝字关注我们有时我们关注的公众号消息比较多,错过了一些自己喜欢的消息,不能及时看到工控论坛的推送,我们可以给公众号加星标或置顶。那如何星标置顶呢?【打开一篇工控论坛公众号的文章,点击文章标题下方的蓝色字…

鸿蒙os怎么还没发布,关于鸿蒙OS系统!小米为何从支持到“失声”?看看中兴就知道了!...

鸿蒙OS在还没有正式召开发布会的时候,大家就一直很关注友商们对于鸿蒙OS的态度。此前中兴就表过态,他们不会考虑鸿蒙OS的系统,因为中兴自己有这一方面的规划。而在鸿蒙发布之前,除了中兴是正式的官方发出了相关的态度之外&#xf…