cgdb,gdb -tui的加强版,非常优秀,中文教程在此:https://github.com/leeyiw/cgdb-manual-in-chinese/blob/master/contents.md,不再赘述。

cgdb有一个问题困扰了我很久:如何方便地进行I/O交互。

虽然cgdb自带了TTY模式,但不太靠谱,调试到某些Unix I/O接口时会卡死,如read函数。

今天我又反复看了下教程,发现了这样一句以前没注意的忠告:

如果被调试的程序需要读取终端用户输入,我们推荐用户在终端中启动被调试程序,然后在另一个终端使用CGDB去attach被调试程序,这是与被调试程序进行I/O交互最简单的方法。

但是教程没有说具体该怎么操作,摸索了下,终于完美解决,以调试redis-cli为例。

  1. 命令行先后启动redis-server和redis-cli;
  2. ps查到redis-cli进程号后直接cgdb -p [pid];
  3. 进入cgdb后不要慌,用bt看下阻塞I/O在哪里;
  4. 然后在阻塞I/O处设置断点,可以看到这里在linenoise.c的312行调用了read(),直接加断点b linenoise.c:312;
  5. cgdb中输入continue,然后再去redis-cli那里输入想调试的命令,比如info,回到cgdb,发现源码已经刷出来了,大功告成。

罗斯归来

2013-10-06 by lizherui

罗斯是我最喜欢的NBA球员,快速且强壮,球风硬朗,极富侵略性。

罗斯因伤休战了整整523天,终于在今天复出了。

看罗斯打球有种独一无二的感觉,观赏性极强,速度与力量的完美结合。

罗斯快攻时的态度一直激励着我:甭管前面站着多高多壮的球员,统统硬上。

Too Big, Too Strong, Too Fast, Too Good.

read more

临近的双十一

2013-09-27 by lizherui

双十一就要来了。

由于我们小组leader是双十一总负责人,所以我很幸运地参与到双十一相关的项目中。

作为一个新人,虽然只能做一点儿双十一相关的小需求,但依然很激动。

生活中常常听到这样的说法:“总有人比你们更勤奋”。

但这句话就不用对我们说了。

我们就是那更勤奋的人。

read more

淘宝城的第一天

2013-09-16 by lizherui

淘宝城,震撼。

从整体到局部,处处高端大气上档次,很有硅谷范儿。

我说淘宝城绝对是中国IT届的旗帜,应该没人会反对。

在这种环境里工作的感受,很难描述。

就像一种瘾。

因为公司给予员工越多,员工回报公司就越多。

越来越感觉温暖,越来越喜欢这里。

read more

百阿感言

2013-09-05 by lizherui

背景


来阿里之前,阿里“很黄很暴力”的开放风骚型文化就已经在江湖上声名远扬了。

记得参加13届校招那会儿,阿里的面试风格就让人印象深刻。与其它互联网公司面试官一脸严肃的风格不同,阿里的面试官不仅极其健谈,而且不停地和候选人互开玩笑,让我惊讶了很久很久。

这样的氛围对于我们应届生来说无疑产生了极强的震撼力与极大的吸引力。

临行前


平时和师兄师姐吃饭的时候,他们聊到百阿总是故作神秘,欲言又止,吊足了我的胃口。

晚上在内网上搜了搜百阿相关的帖子,预览了下诸如“破冰”这样神秘而刺激的传说级活动。

明天就要亲身经历了,既期待又紧张。

第一天


新人破冰

刚进教室我就惊呆了,没想到是一组人围坐一张圆桌的形式,好像回到了小时候上幼儿园的日子。

迟到的那几个倒霉家伙自然成为了破冰活动的主角,气氛一下子活跃了起来。

不过我感觉这次破冰倒是没有传说中那么得无底限。或许是因为mm来自海峡两岸中的宝岛台湾,或许是因为大家互相之间还不太熟,没有完全放开。

破冰的尺度恰到火候,既没有传说中的那样夸张,又彻底开启了欢乐的百阿之门。

侠骨柔情

每个人都要写一个愿望,我想了很久很久都没有头绪。最后快没时间了,只好写了一个极难实现的愿望。

幸运的是,我抽到了一个很简单的愿望,心里的石头总算落了地。

这个小活动第一天给人的感觉就是很简单,乐呵乐呵随便玩玩。

但是最后一天每个人愿望揭晓的时候,震撼的一面才彻底显现了出来。

大家发现有些同学的愿望是那么得难实现 ...

read more
Fork me on GitHub