关于处理一个C++服务端程序频繁挂掉的心路历程

26 篇文章 1 订阅

1.项目背景

     a.项目需求

      最近在做一个关于机器人图像识别项目,有太菜原由。大大小小遇到不少的坑分享出来。大概需求:客户端(发送请求端)实时发送机器人巡检图片,通过Http接口协议方式将图片流按照Json格式发送到服务端。 

     b.组织架构及其运行环境

       客户端(机器人实时采集的数据)发送图片流(秒钟3张左右)到服务端(图片分析识别)并调用识别算法,最后将识别后的图片返还给请求端。

 2.问题概述

  a.请求头未写导致response无返数据(Http报文格式问题)

   b.本地文件无读写权限导致程序异退出

   c.某些局部变量未初始化出现空指针、野指针进而导致程序异常Dump

   d.数据越界异常

   e.new  allocator等动态申请动态内存未及时释放或者没有被释放与之对应的delete   free

   f.多线程文件访问导致内存溢出或者内存泄漏等问题

      内存溢出:申而不足

      内存泄漏:申而未还

  g.请求响应延迟时间过长导致客户端未及时收到响应数据。

  h.Libevent(基于Epoll封装而成的http高并发处理框架)版本过低(本质是低版本动态库存在缺陷问题==)

3.分析、处理过程

4.用到的技术

单一线程处理==>多线程

libevent高并发http处理框架

线程锁

请求客户端框架(curl)

5.学到内容

良好的心态是处理问题的关键所在,步步为营的策略是处理问题的强心剂;

 

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值