修复了两个bug
来源:互联网 发布:淘宝助理自定义打印 编辑:程序博客网 时间:2024/04/25 16:58
基于gsoap写了一个长时间运行的服务器,然而在实际使用中,经常出现程序突然中断异常退出的情况。经过长时间的调试,终于基本解决了这个问题
1是之前说的内存出错的问题,后来发现每次出错的地方都在QDateTime::currentDateTime()函数上,而且是在这里面出现new/malloc失败,然后程序就中断了
看了qt的源码,发现qt在QDateTime的构造函数中默认new了一个对象存放时间信息,并用智能指针的方式去管理。难道是这个释放的有问题?因此后续改成直接使用linux的gettimeofday的函数获取系统时间,虽然不一定准确,但是满足使用的需求还是可以的,更换了之后,原来的服务器运行了好几天也没出现中断的情况了
2是发现用soap接口,在短时多次调用时服务器也会崩溃,给出的信号是SIGPIPE;通过在网上查找原因,发现这个SIGPIPE出现的时候,一般是在进行send数据时,管道socket已经被删除或释放的,系统通知了这个信号,然而默认处理这个信号则采用中断的这种方式,导致服务器也卡住了。猜想原因可能是短时间大量进行了soap通信,而soap通信之前没有设置成长连接的方式(也不确定设置keepalive是否有效),可能导致说管道提前释放?原因没有继续查明,但是这里首先将soap设置了keepalive、此外对系统抛出的SIGPIPE进行处理,不让其进行中断,保持服务正常运行。目前来看这样处理后也可以长时间运行了
阅读全文
0 0
- 修复了两个bug
- 修改了两个BUG
- IOS6下cocos2d 1.0项目两个bug修复
- BUG修复
- Bug 修复
- Bug修复
- bug修复
- 改正了msnp.py的两个bug
- bug和bug修复
- jquery检测ie6的方法(修复了BUG)
- 谷歌修复了FFmpeg中上千个bug
- 碉堡了!麻省理工学院开发出自动修复 Bug 的系统
- andfix实践--bug修复不再需要频繁更新版本了
- Android Studio 2.3.1修复了Instant Run的BUG
- 程序员的福音,AI可以自动修复bug了!
- 趣图 | 修复了遗留在系统中的Bug......
- bbossgroups-1.0 rpc框架修复了一个bug(bug描述见正文)
- 今天一天开发的内容!修复了几个Bug,开发了一些新的功能!
- visual studio 多行注释快捷键
- 【LeetCode】746.Min_Cost_Climbing_Stairs
- IT行业的风险投资
- Clion配置Opencv环境MacOS教程
- c++ GDI绘图 利用SetROP2函数的R2_NOT与R2_NOTXORPEN属性,重新绘制时清除原先的图
- 修复了两个bug
- 安全资料整理
- hexo博客优化之实现来必力评论功能
- 初步了解:Android
- 开发者应该掌握的Java代码优化技能
- Windows下批处理修改文件名以及删除文件中重复名
- SQLSERVER 存储过程
- c++ udp的socket通信使用jsoncpp传输
- R || 高斯混合模型GMM