问题分析之信息收集

信息收集

分析问题的第一个步骤,即获取到问题发生的相关信息:
问题分析之信息收集

核心思路

一个比较泛的分析思路:目标无非是找到问题点,然后针对性的处理,则需要的就是通过各种途径来缩小范围
原则:在分析的过程中会有遇到各种合理的猜测,则需要通过添加log、对比实验,反证法等方式来证实;
整体需要对系统框架有基础认知,对大体path流程,有基础认知;

  1. 问题发生现场信息;
    1. 问题现象是什么?出现概率是怎样的?严重程度如何?
  2. log信息,基本符合如下三个原则:
    1. 对于逻辑类问题需要log信息;
      1. ANR问题,则需要logcat、trace、binder等信息;
      2. NE、KE,则需要log信息 + symbol 库,NE需要对应的symbol so,KE需要对应的vmlinux;
      3. HWT类问题,interrupt信息,打印信息,lock信息?
    2. 对于数据类问题需要各个环节的data数据流找到问题异常环节;
      1. audio 有杂音、串音、无声音,则需要从audiotrack、audioflinger、hal、kernel、I2S\模拟输出、DSP、功放等环节dump数据确认问题环节;
      2. display 花屏、抖帧、帧率低、显示效果问题,则需要从输入、缩放、显示效果、输出模块等各个环节确认问题情况;
    3. 与外设有关的问题,需要做AB实验对比;
      1. 蓝牙类问题:
        1. logcat、HCI log、空中包;
        2. 对比不同品牌手机测试,主要小米、华为、苹果、vivo、oppo这些手机蓝牙相关都不同;

一般套路

  1. 问题现象是怎样的?什么模块的问题?客户关心痛点?
  2. 严重程度如何?复现概率?影响面?
  3. 是否可以稳定复测到?复测方法,关键复测路径?
  4. 是否有抓取到log信息?kernel log? logcat? trace?其他debug信息?
  5. 是否近期新出现问题?
    1. 软件层面近期做过哪些事情?如有必要,采用二分法倒版本排查问题?
    2. HW层面近期做过哪些改动?AB实验排查?
    3. 环境差异?
  6. 是否有对比平台?可否做ABBA实验证明问题?出现在SW、HW?
  7. 初步根据反馈的问题现象,确认分析路径?
    1. 是否为蓝牙问题?
      1. 是否有使用多个手机对比实验?
      2. 蓝牙电话问题还是蓝牙音乐问题?命令延迟响应?不响应?串音?(logcat + hci log,如有数据问题则需要dump数据)
    2. 是否为NE/KE/HWT等问题?
      1. 简单查看log中堆栈信息,确认问题模块;
      2. 是否有对应符号库?
      3. 根据堆栈使用相关工具找到code位置:
        1. 查看是否有assert?BUGON?等主动触发?
        2. 是否有内存使用问题?大多数情况
        3. 是否存在随机崩溃?HW问题较多,emmc、ddr问题可能性是有的;
    3. 是否为audio类问题?
      1. 无声音、串音、杂音等问题主要排查各个环节的数据问题;
      2. audio多为需求设计类问题,即项目初期,根据需求和当前支持的HW情况设计思路;
    4. 是否为display问题?
      1. 调屏类问题
        1. SOC 输出:LVDS\MIPI\RGB
        2. 屏:LVDS\MIPI\TTL
        3. 转接IC:MIPI转LVDS、LVDS转TTL==
        4. 分体机使用的IC:941、927、928、947、948、924、926==
      2. 花屏、黑屏、绿屏、白屏等问题,多为某个环节的配置参数与src不匹配导致;
        1. 这种的话,就要先找到错误的环节,然后取相关log分析;
      3. 抖帧、回帧、撕裂类问题,多为时间同步问题;
        1. 需要trace信息;
        2. 如果取数据比较慢,可以添加buffer数量;
        3. 最好还是找到不匹配的环节,添加同步机制;
      4. 闪白线、黑线等可能为带宽问题;
        1. dump带宽的占用情况,DS-5是个好工具;
    5. 是否为USB问题?
      1. 眼图不过?
        1. 驱动能力?预加重功能?
        2. HW调整;
      2. U盘类问题?不识别、断连
        1. 中断–kernel – uevent --文件系统 – 上层应用,逐个环节排查;
      3. carplay、carlife、亿连、XX互联等互联类应用
        1. 认证问题
        2. 切换mode问题

这个整理可以看做是一个泛泛而谈的东西,也可以说是处理很多问题后的一些共性内容;