gdb 难学吗?

如题所述

很多事情都没有想象中那么难学,大多数人觉得难,有时候是没有找到窍门,有的时候只是单纯的懒。

Debugger本身其实没什么难不难学,其实就那么三板斧,断点,监视,堆栈。

GUI对新手的好处是把你所需要的信息都摆到了台面上,如果你有兴趣一个个查一下每个界面元素背后的含义是什么就行了,相当于是个索引,而GDB的命令行界面就是如果你不知道,又不去仔仔细细的看手册,可能很多功能你不知道就是不知道。

GUI坏也坏在在你什么都不会的时候,把什么东西都一股脑甩给你了要是自乱阵脚了,那就很麻烦了。

一般使用的话,GDB寥寥几个命令也差不多够了。但是当你要修一些Potential Risk比较都多的问题,需要trace若干变量、监控内存,条件中断,并在执行栈中上下翻飞的话,那还是VS Debugger,或者GDB + Visualizer好使一些。

我自己在学生时期,开始接触gdb的时候,觉得各种麻烦难学。那时候很多东西都没概念,即便把命令看了很多,也是一头雾水根本不知道这些命令的应用场景是什么。后来工作了直接转到了windbg,你可以把windbg想象成windows下的类似gdb的东西,虽然比gdb好用很多;)。 然后加上我的工作就是搞debugger相关的开发,所以经常debug,过了一段时间后,就对比如什么时候需要设置condtional breakpoint,什么时候需要data breakpoint,怎么调试dead lock,都很清楚,毕竟很多时候都是debug debugger。。。所以前一段再次转到gdb的时候,就好很多,只是记住了几个基本的命令,debug的时候想的都是如果windbg下会怎么调试,再到网上查对应的功能就好了,大部分情况都可以应付。

说白了gdb只是个工具,不用考虑难不难学,用多了自然就简单了。debug最麻烦的是发现查找问题的思路,如果思路有了,各种debugger其实就是不同品牌的工具,挑一个适合自己的用就行了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-20

这是一个很主观的问题,有人喜欢白菜,有人喜欢萝卜,你觉得GDB不难学,有人就会觉得难学,不过是每个人所付出的不一样罢了。

作为UNIX和UNIX-like下的调试工具,GDB本身不难学,关键看你怎么学,能不能抓住重点,有没有基本的思维逻辑。Debugger本身其实没什么难不难学,其实就那么三板斧,断点,监视,堆栈。GUI对新手的好处是把你所需要的信息都摆到了台面上,如果你有兴趣一个个查一下每个界面元素背后的含义是什么就行了,相当于是个索引,而GDB的命令行界面就是如果你不知道,又不去仔仔细细的看手册,可能很多功能你不知道就是不知道。GUI坏也坏在在你什么都不会的时候,把什么东西都一股脑甩给你了要是自乱阵脚了,那就很麻烦了。


如果是一般使用的话,只需要少数几个命令就差不多了,到用的时候,再在网上查找一下相关命令就可以了。开始接触gdb的时候,觉得各种麻烦难学。那时候很多东西都没概念,即便把命令看了很多,也是一头雾水根本不知道这些命令的应用场景是什么。说白了gdb只是个工具,不用考虑难不难学,用多了自然就简单了。debug最麻烦的是发现查找问题的思路,如果思路有了,各种debugger其实就是不同品牌的工具,挑一个适合自己的用就行了。

任何事情都是师傅领进门,修行在个人。入门不难,但做到极致难

相似回答
大家正在搜