俗话说,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++程序相关推荐

  1. 利用Console来调试JS程序、Console用法总结

    利用Console来调试JS程序.Console用法总结(1) 一 .什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console ...

  2. jdb java_利用JDB附加调试JAVA程序 | 学步园

    之前有介绍用Eclipse远程调试JAVA程序,见Eclipse远程调试JAVA程序,但现场JAVA程序出现异常,又不能在现场真实环境装Eclipse来调试,所幸有JDB这个工具.此工具的常规用法不介 ...

  3. 利用Pycharm断点调试Python程序

    1.代码 准备没有语法错误的Python程序: #!/usr/bin/python import numpy as npclass Network:def __init__(self,sizes):s ...

  4. emacs c语言配置文件,Emacs配置及使用方法(转)--- 很经典的

    最近需要用Emacs编辑C程序,看到这个教程非常不错,故转载 在Emacs下用C/C++编程 参考文献: hhuu @ newsmth 的<Emacs的日常生活> emacs 的文档 em ...

  5. emacs c语言 自动补全,Emacs 与 C/C++ 代码自动补全

    基于 Emacs 的 company 模式并配合 semantic 文法分析器,实现 Emacs 的 C/C++ 代码自动补全. 关于 Emacs 的代码自动补全 代码自动补全的功能,对于使用 Ema ...

  6. emacs初步了解贴,emacs是什么,为什么用emacs,emacs与vim和Eclipse之间的应用不同,怎么选择这些编辑器和平台做最有效率的开发。...

    首先声明:个人认为 1:不同的开发需求,必定有不同的最优选择,一个项目中有多个需求,那么多个分模块的解决方案就是必然的最优解.多个项目更是如此. 2:不同的开发工具有其不同的优点.取长补短就可以了.不 ...

  7. Linux下C语言使用、编译与调试

    本篇主要分享一些操作理论,但不涉及具体操作. (1)C语言使用简介 LINUX中包含了很多软件开发工具.它们中的很多是用于C和C++应用程序开发的. C是一种能在UNIX的早期就被广泛使用的通用编程语 ...

  8. emacs python plugin_Windows上配置Emacs来开发Python及用Python扩展Emacs

    Windows下配置Emacs来开发Python去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码, ...

  9. 利用C#线程窗口调试多线程程序

    从网上的资料判断,调试多线程程序似乎就一下3种方法. 1.在日志的某个地方写日志文件. 优点:不会干扰程序的执行,特别是对网络的多线程通信. 缺点:每次都需要打开日志文件以查看进程运行的信息. 2.利 ...

最新文章

  1. shiro的用户认证
  2. 轨迹匹配地图 python_基于地图的视觉定位(一)
  3. 数据scale过程用model更方便,可以保存到本地
  4. docker,containerd,runc,docker-shim之间的关系
  5. [十二省联考2019]皮配
  6. python的menu_Python Tkinter Menu使用教程 | 學步園
  7. 计算机管理员改时间,电脑时间修改权限
  8. 基于JAVA的抽奖系统
  9. 魅蓝s6手机sim卡不显示无服务器,科普OPPOA57怎么截图及魅蓝S6怎么插卡
  10. 中国大学慕课第9周测验
  11. android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...
  12. 平台经济中国案例研究——网易云平台
  13. Delphi动态数组中删除元素的重要函数Delete
  14. 软件工程中软件需求分析
  15. 安装使用quagga
  16. PC电脑安装苹果操作系统MAC OS X【图文教程】
  17. php 二维数组中去重,[转]PHP二维数组去重数组去重
  18. vs2010连接mysql数据库
  19. Redis数据库(四)哨兵和集群
  20. 智能车随手记:降压模块电路原理图(基础版)

热门文章

  1. 使用Vysper,TomEE和PrimeFaces将XMPP服务器嵌入JSF Web应用程序内部
  2. Java 8 Friday Goodies:新的新I / O API
  3. Spring XD 1.0.0.M5在这里!
  4. 使用Hazelcast发布和订阅
  5. Spring MVC:带有CNVR卷的REST应用程序。 3
  6. 在运行时修补Java
  7. 重温“ Java Sucks”
  8. 什么是CDI,它与@EJB和Spring有什么关系?
  9. centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧
  10. Servlet规范中定义的过滤器