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的操作方式有时间再介绍了,大家可以跟着里面自带的教程学习)。
我们先保存。然后利用Emacs调用GCC,按S-M-1
出现让你输入shell命令,在这就是控制台命令啦。我们输入g++ testdbg.cpp -g -o testdbg.exe
编译正确。这时我们打开Tools->GDB进行调试,我们发现,Emacs多了几个按钮。如下图:
四、调试
1、设置断点
输入break 5,表示在第五行设置断点,我们发现左边多了个小红点。那就是断点的位置。
2、运行程序
输入run执行程序,程序执行后停在断点处。
3、单步执行
输入step能够单步执行,在GDB中,直接按回车能重复上一步的动作。
4、打印变量
使用print 变量,能打印出当前变量的值。
五、总结
使用Emacs,摆脱了各种IDE的束缚,能够极快地进行小模块的开发,Emacs还带有查看十六进制文件的功能,在linux上,替代了winhex的工作,能进行文件的比较,这些以后有时间再讲到。GDB是GCC附加的一个功能强大的调试器,深受广大程序员的喜爱,其中关于GDB的资料,大家可以查查手册。
emacs c语言,如何利用Emacs来调试C++程序相关推荐
- 利用Console来调试JS程序、Console用法总结
利用Console来调试JS程序.Console用法总结(1) 一 .什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console ...
- jdb java_利用JDB附加调试JAVA程序 | 学步园
之前有介绍用Eclipse远程调试JAVA程序,见Eclipse远程调试JAVA程序,但现场JAVA程序出现异常,又不能在现场真实环境装Eclipse来调试,所幸有JDB这个工具.此工具的常规用法不介 ...
- 利用Pycharm断点调试Python程序
1.代码 准备没有语法错误的Python程序: #!/usr/bin/python import numpy as npclass Network:def __init__(self,sizes):s ...
- emacs c语言配置文件,Emacs配置及使用方法(转)--- 很经典的
最近需要用Emacs编辑C程序,看到这个教程非常不错,故转载 在Emacs下用C/C++编程 参考文献: hhuu @ newsmth 的<Emacs的日常生活> emacs 的文档 em ...
- emacs c语言 自动补全,Emacs 与 C/C++ 代码自动补全
基于 Emacs 的 company 模式并配合 semantic 文法分析器,实现 Emacs 的 C/C++ 代码自动补全. 关于 Emacs 的代码自动补全 代码自动补全的功能,对于使用 Ema ...
- emacs初步了解贴,emacs是什么,为什么用emacs,emacs与vim和Eclipse之间的应用不同,怎么选择这些编辑器和平台做最有效率的开发。...
首先声明:个人认为 1:不同的开发需求,必定有不同的最优选择,一个项目中有多个需求,那么多个分模块的解决方案就是必然的最优解.多个项目更是如此. 2:不同的开发工具有其不同的优点.取长补短就可以了.不 ...
- Linux下C语言使用、编译与调试
本篇主要分享一些操作理论,但不涉及具体操作. (1)C语言使用简介 LINUX中包含了很多软件开发工具.它们中的很多是用于C和C++应用程序开发的. C是一种能在UNIX的早期就被广泛使用的通用编程语 ...
- emacs python plugin_Windows上配置Emacs来开发Python及用Python扩展Emacs
Windows下配置Emacs来开发Python去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码, ...
- 利用C#线程窗口调试多线程程序
从网上的资料判断,调试多线程程序似乎就一下3种方法. 1.在日志的某个地方写日志文件. 优点:不会干扰程序的执行,特别是对网络的多线程通信. 缺点:每次都需要打开日志文件以查看进程运行的信息. 2.利 ...
最新文章
- shiro的用户认证
- 轨迹匹配地图 python_基于地图的视觉定位(一)
- 数据scale过程用model更方便,可以保存到本地
- docker,containerd,runc,docker-shim之间的关系
- [十二省联考2019]皮配
- python的menu_Python Tkinter Menu使用教程 | 學步園
- 计算机管理员改时间,电脑时间修改权限
- 基于JAVA的抽奖系统
- 魅蓝s6手机sim卡不显示无服务器,科普OPPOA57怎么截图及魅蓝S6怎么插卡
- 中国大学慕课第9周测验
- android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...
- 平台经济中国案例研究——网易云平台
- Delphi动态数组中删除元素的重要函数Delete
- 软件工程中软件需求分析
- 安装使用quagga
- PC电脑安装苹果操作系统MAC OS X【图文教程】
- php 二维数组中去重,[转]PHP二维数组去重数组去重
- vs2010连接mysql数据库
- Redis数据库(四)哨兵和集群
- 智能车随手记:降压模块电路原理图(基础版)
热门文章
- 使用Vysper,TomEE和PrimeFaces将XMPP服务器嵌入JSF Web应用程序内部
- Java 8 Friday Goodies:新的新I / O API
- Spring XD 1.0.0.M5在这里!
- 使用Hazelcast发布和订阅
- Spring MVC:带有CNVR卷的REST应用程序。 3
- 在运行时修补Java
- 重温“ Java Sucks”
- 什么是CDI,它与@EJB和Spring有什么关系?
- centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧
- Servlet规范中定义的过滤器