今天几个bug的排查过程
摘要:
1. event_base_loop 未进入消息循环,自动退出解决方法:gdb跟踪到退出的代码,然后查看代码,分析为什么退出,发现是因为没有事件,所以退出2. 如果client做了connect,但是服务器没有accept,则一直触发事件解决方法:怀疑是没有边缘触发,strace发现用的确实是epoll,找到epoll设置边缘触发的标志位,在libevent代码中搜索此标志位,找到libevent的标志位,设置即可3. 调用redis的anetRead,总是失败解决方法:跟踪代码,发现是调用read时返回了-1,man read,发现非阻塞io读不到数据会返回-1,查看redis代码中的ane 阅读全文
posted @ 2012-05-19 22:20 李玉龙 阅读(222) 评论(0) 推荐(0) 编辑