早上接到一个新需求, 开搞。

        下午了, 还在塞代码, 塞着塞着, 搞出一个core, 该打的log没有打出来。当时猜测是core了(因为进程号变了), 但没有core文件产生, 于是在root下看/var/log/messages信息, 果然是有segment fault错误, 然后打开linux的core开关和系统框架的core开关, 果然是有core了。 用gdb定位搞起, 发现是: (int *)&len写成了(int *)len,  导致内存错误访问, 我靠。

        于是继续写, 晚上又搞出一个core, 在打印log的时候, 本来应该用str.c_str(),  结果忘了写.c_str(),  还是打开系统和框架的core开关, gdb搞起, 虽然库被strip掉了, 无法开到代码行, 但依然可以看到代码的调用, 一下就揪出了错误。

        真心不顺。


        期间, 还遇到一个没有给客户端回包的问题, 还遇到一个string过长, 没有收到服务端回包的问题, 都有点蛋疼。 自己打的log也很随意, 哎, 基本功要继续加强啊。


       哎哎哎。





本文转载:CSDN博客