Linux下C++可视化调试神器vgdb

Linux下C++可视化调试神器vgdb  

2014-09-29 00:20:16|  分类: 技术研究 |  标签:linux  调试  可视化  c/c++  vgdb   |举报 |字号 订阅

在Linux下怎样调试C/C++程序?做过Linux开发的人都知道用gdb。我见过很多Linux开发人员,包括很多有多年工作经验的老鸟,都还是在gdb命令行下兢兢业业的敲着命令,用list来看代码或是在Windows上开一个Source insight来看代码。
这里我分享一些Linux下如何使用可视化调试来提高效率的经验,希望能对大家有所帮助。
1. gdb的TUI模式。进gdb后,按Ctrl-X A,看到什么了?是的,有窗口了,里面还能显示代码呢。(在Linux下大多可用,在Windows上的gdb一般没这功能。)这回看代码舒服多了是不是,去google搜搜看文档吧。
2. emacs+gdb。搜搜看emacs和gdb的作者你就知道这两个软件关系非同一般了。只要会用emacs会用gdb,剩下就不是问题了。关键是emacs可不是容易用的惯的。
3. vi+gdb。段子里一直流传着,Linux下的编辑器,分为emacs, vi和其它三类。虽然vi本身没提供直接集成gdb的功能,但有不少vi插件试图做到易用的集成,听过的有vgdb,pyclewn,VimDebug等。
 
这回主要介绍下vgdb。它的特点是以微软Visutal Studio中的Visual C++作为榜样,非常方便有VC调试经验的人上手。不仅缺省的快捷键是VC风格的(比如F9断点,F5运行,F10单步等),而且引入了不少VC中的概念和操作方便用户操作,比如Run To Cursor (Ctrl-F10) - 运行到光标所在行(用gdb要设置临时断点再运行过去);开始调试(F5)(如果用gdb,一开始用run命令开始调试,中间要用cont命令继续执行,vgdb把这些细节都在后台帮助你处理掉啦);Set Next Statement - 把当前执行位置拖到另一行上,甚至允许跨函数拖执行点而程序不崩溃;再比如VC中查看复杂对象,允许用户自定义查看规则的AutoExpand机制也被vgdb引入进来,这尤其适合大项目中查看复杂的数据类型。
 
在vim的script列表里可以找到vgdb: http://www.vim.org/scripts/script.php?script_id=4456
对于没有Linux下调试经验的人来说,使用vgdb,即使不会gdb和vi的操作,也能很快上手调试起来。下载的包里带有视频演示,这里先给个截图看看:
Linux下C++可视化调试神器vgdb - 天笑 - 天笑的博客
 
 
 
vgdb的另一个亮点是对变量指针的分析(Drill down)。比如你用print查看一个变量,发现原来是个指针,一般地你会再输入print *v来查看它的结构,而在vgdb窗口里,你直接在显示指针值的那行上回车,就能跟踪打印里结构的内容。如果结构中还有指针,仍可以方便的在这行上回车查看一个指针成员的内容。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值