访问长度为0的vector引起的低概率coredump问题的定位

         最近发布版本后, 发现了一个低概率的core dump告警,  其实, 在互联网千万甚至上亿的请求下, 再低概率的core都能被频繁触发, 所以也算不上低概率, 每隔几分钟就有core, 那就展开定位吧。

        首先基本可以肯定的是, core是由本次代码修改引起的。  先来做做前戏准备动作:

        1.  确保core文件是完成的, 没有被截断的

        2.  确保core文件没有被strip

        3.  确保core文件不丢失, 且与so对应

        4.  保存当时的log

        如上前戏都是老生常谈了 , 我们在博客中多次提及。


         下面开始分析:

        5.  先用gdb分析core, 发现确实core在新增的业务代码中, 且有函数名称, 但遗憾的是没有指明具体的代码行。 此时, 我再次用file命令确认了一下, so库没有被strip脱掉衣服, 这算是万幸! (这个有点奇怪, 通常来说, 没有被strip过, 且编译时候加了-g, 就会有代码行, 好吧, 先不纠结)

        6.  进入到函数中去review代码, 太浩瀚了, 没有发现明显可疑的地方。

        7.  再次用gdb的f命令、i locals、i args和i catch进行分析, 没有发现明显的异常。


        于是我想, 能不能抓到core对应的请求包? 

       8. 于是开启全量抓包(

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值