全部博文(118)
分类: LINUX
2011-03-23 23:07:19
技能上的提高:
1、 vim+screen+cscope,快捷键确实非常方便,基本实现一个窗口打开,完成多个终端任务,同时vim的split模式非常有用。Vim与emacs堪称linux程序开发的两大神器。逐渐喜欢上这种字符界面的开发模式,非常高效。
2、 svn的用法:hw目前将所有的版本控制方式从cvs向svn切换。其实在我看来,svn与teamwork的区别不是很大。Svn+diff+beyondcompare,可以完成大部分的版本控制。目前的我们的svn版本管理方式,由于我们维护的是内核的代码,所以我们采用在SVN上保存patch的方法来维护内核库。这样的版本维护方式有几个好处:
l 版本切换、升级比较简单
l 故障调试比较方便,当某个新模块处理出现问题时,可以很简单的反打补丁,回归旧版本测试。
缺陷就是
l 补丁依赖,c.patch依赖b.patch,b.patch依赖a.patch,当要修改a.patch补丁时,非常麻烦。
l 补丁冲突,当两个人同时操作一个源文件时,就会产生补丁冲突。
l 补丁修改的过程还是非常痛苦的。
3、 快速coredump分析技能,应用程序的core文件分析,内核coredump的addr2line\readelf等转换定位。
技术上的提高:
1、 完全熟悉了BT技术,并在客户中广泛的应用,并现场定位出两个问题,基本都是与linux系统的使用顺序有关。在用户态还没有进入就调用依赖用户态的.asoundrc文件,导致无法读出。
2、 用户态的文件系统,熟悉了磁盘文件系统的特点,调试方法,提升性能的方法,能够独挡一面解决问题。
3、 跳坏块的cramfs文件系统支持,定位出了开源社区代码的错误。