标签:使用 sp 文件 数据 问题 bs 代码 时间 linux
3
问题:用tcp和对端通信是,如果断网,本地程序会陷入socket不可用的循环而不能恢复到初始状态从新开始
原因:socket异常断开之后,本地程序在使用socket对象之前应该检查socket的可用性。
总结:UDP无连接,封装一个发送一个接收即可满足大部分要求。TCP的连接整个过程都是双方维护的socket的状态上通信,TCP的连接状态是用TCP通信的基本常识。
2
问题:现场环境一直会重连数据库,导致写数据库失败之后写本地文件,猜测会导致数据大量丢失
原因:实际数据并没有丢失,而是数据库里面的表加了索引(这个索引是必须要的,减少了垃圾数据的产生),我总是尝试插入和索引冲突的重复数据,所以导致写文件。
总结:没有到现场gdb调试或者把core文件拷贝回来调试是发现问题慢的一个原因;对大量日志用Linux命令分析的能力不足,需要更多的Linux分析和开发命令来帮助自己在最短的时间内找到日志线索。
1
问题:生成的插件不能与其他插件兼容
原因:自己修改了类定义,添加了一个成员变量,使用了这个成员变量,但是没有和其他插件统一编译,而且我使用的对象是由其它的插件生成的,所以运行时找不到这个成员变量。就会一直core dump
总结:对一个由多个插件组成的项目,应该有版本控制,统一发布;不会在Linux下用gdb调试使得这个问题发现到解决整整用了两天时间,完全是猜测;在什么环境下开发就应该熟练掌握这个环境下的调试!对于有多个项目的,考虑使用CMake生成跨平台的项目代码。
标签:使用 sp 文件 数据 问题 bs 代码 时间 linux
原文地址:http://blog.csdn.net/calmreason/article/details/41574867