zoukankan      html  css  js  c++  java
  • EasyDSS视频平台DASH版本发现日志打印panic排查及解决方式

    之前我们和大家分享过EasyDSS开发的Dash版本,EasyDSS新增Dash版本后,可允许客户端根据网络带宽情况自动选择合适的码流进行播放,便于适应网络带宽抖动,同时最大程度上为终端用户提供最好的服务质量,此外,拥有Dash技术的EasyDSS还在CDN分发方面有着更大的优势。

    当我们测试EasyDSS_DASH版本时,运行程序后发现日志打印panic,如下图:

    一般该问题出现的原因大部分都是Linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来,程序中出现panic会导致程序不稳定、宕机。当发生panic之后,当前函数使用了recover,则捕获了这个错误,如上图,可以看到发生错误的位置。

    经查询,发现问题出现panic,是程序代码逻辑有问题,问题出现在查找录像快照的方法中,FindAllString()返回一个数组,再取值下标未做判断越界,导致程序报panic。如下图:

    此处我们优化代码,当再次获取到string数组时,系统会根据其长度大小判断所取值下标是否越界,以此来避免该类报错内容的出现。

  • 相关阅读:
    CSS居中布局总结
    Jquery的普通事件和on的委托事件
    sass基础用法
    JS中常遇到的浏览器兼容问题和解决方法
    KVC
    关键字 self
    常见的出现内存循环引用的场景有哪些?
    XCODE中的蓝色文件夹与黄色文件夹
    oc 关键字
    uiwebview 兼容性
  • 原文地址:https://www.cnblogs.com/easydss/p/14867954.html
Copyright © 2011-2022 走看看