源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何利用Emacs来调试C++程序

  • 时间:2020-07-25 00:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何利用Emacs来调试C++程序
俗话说,Emacs是神的编辑器,而Vim是编辑器之神。高手程序员都是用这两样神器进行开发。本人觉得,Emacs之所以厉害,是因为许多在其他编辑器下必须用鼠标点选很多步的操作,在Emacs下都可以通过键盘来完成。大大地节省了你在显示器上找按钮的时间。Emacs在Linux上运行感觉比windows流畅些,用Emacs编辑程序时,手基本不用离开键盘,就可以完成所有的工作。那么今天就让我们看看如何利用Emacs来调试C++程序。 [b]一、安装Emacs和GCC[/b] 下载地址:Emacs:[url=http://www.gnu.org/software/emacs/]http://www.gnu.org/software/emacs/[/url] GCC:[url=http://gcc.gnu.org/]http://gcc.gnu.org/[/url] [b]二、配置emacs和GCC[/b] Emacs建议大家把显示行号打开。具体操作是:在C:\Users\maple\AppData\Roaming下有个.emacs文件,打开它,加入(global-linum-mode t)并保存,注意括号也要一并写上。 GCC添加路径到Path环境变量,确保在cmd下用g++命令能正确执行。 [b]三、写程序,编辑[/b] 我们新建一个文件,然后用Emacs打开(Emacs的操作方式有时间再介绍了,大家可以跟着里面自带的教程学习)。 [url=http://images.cnitblog.com/blog/500704/201303/08225714-fa569ba1f13e406084de5154bad5b696.png][img]http://files.jb51.net/file_images/article/201603/201603300906491.png[/img] [/url] 我们先保存。然后利用Emacs调用GCC,按S-M-1 [url=http://images.cnitblog.com/blog/500704/201303/08225717-cb3b8757da2541499b83b5e798187134.png][img]http://files.jb51.net/file_images/article/201603/201603300906492.png[/img] [/url] 出现让你输入shell命令,在这就是控制台命令啦。我们输入g++ testdbg.cpp -g -o testdbg.exe [url=http://images.cnitblog.com/blog/500704/201303/08225718-0566e9b2db814e69b5024a00dc7fce72.png][img]http://files.jb51.net/file_images/article/201603/201603300906493.png[/img] [/url] 编译正确。这时我们打开Tools->GDB进行调试,我们发现,Emacs多了几个按钮。如下图: [url=http://images.cnitblog.com/blog/500704/201303/08225723-d408563676514231b337bea1b38f3cbb.png][img]http://files.jb51.net/file_images/article/201603/201603300906494.png[/img] [/url] [b]四、调试[/b] 1、设置断点 输入break 5,表示在第五行设置断点,我们发现左边多了个小红点。那就是断点的位置。 [url=http://images.cnitblog.com/blog/500704/201303/08225725-e049c037347b480d82911232a0f3cb91.png][img]http://files.jb51.net/file_images/article/201603/201603300906495.png[/img] [/url] 2、运行程序 输入run执行程序,程序执行后停在断点处。 [url=http://images.cnitblog.com/blog/500704/201303/08225727-b5162fe68c1d47358c3b29332542505c.png][img]http://files.jb51.net/file_images/article/201603/201603300906496.png[/img] [/url] 3、单步执行 输入step能够单步执行,在GDB中,直接按回车能重复上一步的动作。 4、打印变量 使用print 变量,能打印出当前变量的值。 [url=http://images.cnitblog.com/blog/500704/201303/08225730-35aa22de93c44951b7f3c96c9ea36dc9.png][img]http://files.jb51.net/file_images/article/201603/201603300906497.png[/img] [/url] [b]五、总结[/b] 使用Emacs,摆脱了各种IDE的束缚,能够极快地进行小模块的开发,Emacs还带有查看十六进制文件的功能,在linux上,替代了winhex的工作,能进行文件的比较,这些以后有时间再讲到。GDB是GCC附加的一个功能强大的调试器,深受广大程序员的喜爱,其中关于GDB的资料,大家可以查查手册。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部