gdb 7.8.1 release了,7.9还会远吗?

今天早晨收到邮件,gdb 7.8.1版本release了。看了一下release note,应该就是修改了一些bug。在另一封邮件里,Joel Brobecker提到了gdb 7.9 release的时间表:如果一切顺利的话,会在明年的1月26日。Looking forward to it!

参考邮件:
[ANNOUNCEMENT] GDB 7.8.1 released!
next GDB release schedule (GDB 7.9?)

学习Bash shell编程资料推荐

我一直觉得写好Bash shell脚本是一件很cool的事,短短几行代码,就能完成其它编程语言几十行甚至上百行代码才能完成的功能,可惜我自己写Bash shell脚本能力实在不敢恭维。在这篇文章,我把自己认为一些比较好的Bash shell编程资料分享出来,希望可以给大家一点帮助。

我个人看过的最好的Bash shell编程入门资料是《Linux程序设计》的第二章:shell程序设计,看这一章的同时自己动手实践,我觉得入门基本没问题了。

入门之后,我建议大家一定要看CU论坛上shell大牛网中人经典的《shell十三问》系列文章,这些文章把很多shell编程tricky的东西讲的很细,很明白。我每次读都有新的收获。

关于如何调试shell程序,推荐coolshell上的文章:如何调试bash脚本,在我这篇文章结尾提到的bashdb调试器,我这几天还用了一下。虽然比起gdb还差了很远(比如没有命令自动补全功能,等等),但总体感觉还可以,可以提高调试效率。

最后推荐两个网站:
http://www.shellcheck.net/:用来检测shell脚本,帮你发现问题。
http://explainshell.com/:用来帮你理解shell脚本。

好了,动手实践吧。Happy bashing! Happy hacking!

在Solaris上使用LD_OPTIONS环境变量诊断编译链接问题

最近在Solaris上编译一款开源软件,在最后链接阶段出了问题,导致ld程序core dump。由于没有ld程序源代码,导致完全没思路,没办法,只好在stackoverflow上求教:http://stackoverflow.com/questions/26009192/why-the-ld-crash-in-building-libgd。从回复中我才知道可以通过设置LD_OPTIONS环境变量,来了解整个链接过程。举个例子:

LD_OPTIONS=-Dfiles,detail

指定files会输出ld当前处理的文件,detail会提供更多的信息。

可以用“ld -Dhelp”命令打印每个选项的详细帮助信息。

如果想详细了解Solaris下程序的链接过程,可以参考这篇文档:Linker and Libraries Guide

 

2014“十一”回家之旅

眨眼之间,上次回家还是2012年春节的事,离现在快三年了。今年十一,我又踏上回家之旅。

在回去的硬座车厢里,人们大都低头看手机和pad。少数人在聊着天,吃着瓜子,打着扑克。又听到了熟悉的东北方言,很是亲切。在硬座车厢这个临时的大家庭里,很容易把人关系拉近。我不大愿意说话,就是坐车的老配置:一份《体坛周报》,一份《南方周末》,另外又带上了《MacTalk 人生元编程》。十几个小时的时间里,把它们都看完了。《MacTalk》这本书介绍Mac相关的技巧我没有看,其它的文章基本都看了,还是能给人一点启示的。

在家的日子很单调,也很自在。家乡很多老人都已经故去了,而和我年龄相仿的人大多也已离开家乡,去了发展更好的城市。现在镇上的住户大多都是周围乡下和农村的,随之带来的效应便是周围的村子基本已名存实亡了,也许这就是城镇化发展的必然吧。

离别那天,在通辽遇到了好久没联系的老友们,有的居然十几年没见了。虽然现在的人生轨迹都不大一样,但是大家之间并没有因此感到生疏,很开心!回来的路上,买了一本俞敏洪写的《在绝望中寻找希望》,写的很不错,推荐大家都读一下。

我发现只有离开北京,才能让自己真正的放松下来,两个月前的昆山之行亦是如此。我很是希望自己能够多一些这样真正放松的日子。