一、相关工具
QAAT_20210306.rar //里面有QAAT UserGuide.pdf SpOfflineDebugSuite_exe_v3.8.rar
工具获取地址:https://online.mediatek.com/tool/download/49a543be-c043-4610-aad4-12d3e581d6b0
解压 SpOfflineDebugSuite 后双击里面的 setup.bat 即可完成安装,完成后安装包就可以删除了。完成后可以自动注册右键"NE/KE Analyze"。
二、DB文件简介
1. 当系统发生 kernel exception、systemserver 异常等问题时,MTK内部机制会抓取相关异常调试信息,并在 /data/aee_exp 文件夹下生成对应的DB文件。
2. aee_exp 目录下最多保存4个DB文件,名称如 db.xx.dbg,其中xx为"00","01","02","03"。再发生异常时依次覆盖"01","02","03",但不会覆盖"00",会一直保留最老的"00"。
3. 当出现 kernel exception(KE) 后,屏幕会变为橙色,过几分钟后重启,KE的dump文件会生成到 /data/vendor/aee_exp 目录下。可以adb pull到电脑端进行分析。
4. 当出现 native exception(NE) 和 java exception(JE) 后,机器会重启,NE,JE的dump文件会生成到 /data/aee_exp 目录下。
三、解析DB文件
1. 通过QAAT解开的NE/KE DB文件
将 db.fatal.00.HWT.dbg 文件拖动到QAAT的安装目录下的可执行文件上(如 C:\QAAT\aee_extract.exe)进行解开,解开后会生成 db.fatal.00.HWT.dbg.DEC 目录。
2. 生成分析报告
选中 db.fatal.00.HWT.dbg.DEC 目录,然后右键选择“AE/KE-Analyze” 即可生成分析报告,名为"分析报告.txt",分析报告会自动打开。
3. 分析报告上的函数调用栈有些会显示位置(而不是函数名),分析报告的结尾会有提示要显示出符号还需要哪些文件(vmlinux,ko),将这些文件烤包到解开后的DB目录的 symbols 目录中,然后再次右键选择 "NE/KE Analyze" 进行解析即可。
注:vmlinux和ko文件存放在版本路径中的 elf.zip 中。
四、分析DB文件
通过上一步得到的《分析报告.txt》 文件进行分析:
1. 函数调用栈通常显示为 <函数名>+<偏移>,若想看偏移位置是什么指令,可以使用 prebuilts/gcc/linux-x86/aarch64 目录下的 aarch64-linux-android-objdump -D -S <.ko> 进行解析。也可以先根据 aarch64-linux-android-objdump -D
得到函数名的地址,然后加上偏移得到报问题处地址,然后使用 aarch64-linux-android-addr2line -e <.ko> <addr> 看报问题处的指令。
标签:文件,KE,DB,稳定性,MTK,aee,QAAT,目录 From: https://www.cnblogs.com/hellokitty2/p/17101223.html