高通平台如何抓取dump log
- 格式:docx
- 大小:80.66 KB
- 文档页数:1
android抓取各种log的方法在Android开发过程中,我们经常遇到需要抓取各种日志的情况。
日志是开发调试中必不可少的工具,可以帮助我们定位问题,分析程序运行时的情况。
本文将介绍几种常用的方法,帮助您在Android平台上抓取各种日志。
一、Logcat日志Logcat是Android开发中最常用的日志工具,可以输出各种类型的日志信息,包括verbose、debug、info、warn和error等级的日志。
我们可以使用Log类来输出日志信息,例如:```javaimport android.util.Log;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);Log.d(TAG, "This is a debug message");Log.i(TAG, "This is an info message");Log.w(TAG, "This is a warning message");Log.e(TAG, "This is an error message");}}```在Logcat控制台中,可以通过过滤器来选择要显示的日志级别,以及筛选特定的tag,方便我们查看所需的日志信息。
二、文件日志除了在Logcat中输出日志外,我们也可以将日志保存到文件中,以便于离线查看和分析。
Android系统提供了File类和FileOutputStream 类,可以将日志写入到SD卡或应用的私有目录中。
MTK抓log操作说明操作步骤:一、设置手机端口:1.输入*#864364#进入工程模式,Device(设备)→Set UART→UART Setting→TST-PS Config:端口由“无”改为“UART1”,波特率默认为115200,建议改为软件中最大一个。
2.PS Config:端口由“UART1”改为“无”;3.完成上面步骤1、2后,按“确定”。
手机自动关机;4.然后手动开机;5.手机通过G网下载线与电脑连接(同G网软件的下载)。
二、电脑端Catcher工具的配置:1.打开Catcher工具(),进入Catcher工具界面;2.选择软件对应的database文件:点击Catcher工具栏的按钮,弹出窗口,点击确定,弹出窗口点击上图的省略号(…)按钮,选择手机软件中对用的database文件;然后再选择OK按钮;3.配置工具的端口和波特率:点击工具栏按钮弹出如下图对话框,设置下载线所用的端口(Port)和手机上对应的波特率(Baud Rate),然后点击OK按钮;4.连接trace工具:点击Catcher工具栏的按钮,实现手机与Catcher工具的连接;5.配置模块:根据软件研发人员的要求,配置模块,点击Catcher菜单Control Set Filter 弹出下图窗口:在PS module / Class栏选择软件研发人员要求的模块,比如选择“MOD_MED”、“MOD_USB”、“MOD_MMI”等模块;点击确定按钮,设置完毕。
6.复现问题、保存log:上述工作完成后,操作手机复现bug,bug复现后点击Catcher工具栏按钮停止Catcher工具;进入File Save Log As,弹出如图窗口:点击按钮…,选择保存路径,保存log即可。
用QXDM 、QCAT工具抓取、查看LOG文件连接QXDM1)将手机与电脑通过CDMA LOG线连接;手机与电脑的连接线要用串口-USB的转换线,不能用8PIN的USB线,否则会出现QXDM能连接上,但手机拨打C网电话死机现象。
2)启动QPST工具的QPST configuration,查看手机与电脑连接中使用的COM口;3)将QXDM的Option 菜单打开,选中Communications 菜单,在Target Port 中选择在QPST confirgure 中配置被电脑检测到得Com 检测口,如下图所示点击‘’手机就可与软件进行通迅了。
抓取LOG消息设置信令的获取有两种途径,✧使用“Message View’’, 快捷键 F3。
✧使用“Logging View”,快捷键F1。
Message View 注重的是Application层的一些信息,软件开发人员喜欢应用这个LOG,通过配置LOG View 可以包含Message View 的信息和协议层的全部信息,为了保证对于所有LOG信息的完整性保留,建议使用log view 进行LOG的抓取.1)按电脑键盘F1或F3就可获得所需的LOG信息。
如下图:2)Log文件的保存,关闭跟踪窗口,跟踪文件缺省位置为:“D:\Program Files\Qualcomm\QXDM\bin\”,即QXDM安装位置下的bin目录下,文件名称类似“M20080117_093958.dlf”,该名字是以时间方式命名的,对应的时间是:2008-01-17 09:39:58。
Log的保存位置也可以通过菜单“Options---Log Config…---Misc”更改。
显示信息的配置“Options”――“LOG View Config…”或“Options”――“Message View Config…”配置需要显示的信息,选中表示跟踪该选项,测试人员可以根据软件开发人员的要求选择需要跟踪的item。
高通平台测试工具使用说明更改记录日期作者说明2010.2.25 研发三部贺伟创建目录1.工具使用 (3)1.2.QPST安装 (4)1.3.QXDM安装 (5)2.工具使用 (6)2.1.QXDM工具使用 (6)2.2.1. 手机log抓取和查看 (6)1.工具使用1.1.驱动安装先将驱动程序拷贝到PC上,然后将手机和PC相连,如果提示无法识别设备,点击安装usb驱动。
Win XP 以及Win2000建议安装下面驱动:\USB Host Driver Release 2.0.16(USB_WIN2K2016)\Exe\HK11-V3865-15_2.0.16\Win2K\checked.驱动安装成功后请检查驱动程序的信息:1.2.QPST安装驱动安装好以后,点击qpst工具setup后安装。
安装完成后需要添加手机,在开始菜单下点击QPST Configuration,如图:点击Add New Port…,如下图:选择左侧手机串口,如上图所示,然后点击OK,手机就完成了在高通log工具中的添加。
1.3.QXDM安装QXDM为高通平台抓取log的工具。
安装方式和QPST安装方式类似,QXDM也是点击Setup安装。
因为高通原始版本的license有时间要求, 如果点击QXDM后运行后出现时间过期的提示,请联系研发三部的工程师,提供破解的license文件覆盖原来的即可。
安装后的运行界面如下所示:2.工具使用2.1. QXDM工具使用QXDM工具功能非常强大,我们这里主要介绍外场常用的抓取以及分析手机log、修改手机NV值、观察手机运行状态三个功能。
手机连接PC后,点击运行,首先进行手机通讯的设置,选择Options中的Communications 如图:弹出设置窗口,点击Target Port中对应的手机Com口后,选择OK,完成手机的通信。
2.2.1. 手机log抓取和查看我们敲击F3或者在下拉的框中选择Message View<F3>,就打开了Message View窗口如果要保持log,在窗口上点击鼠标右键,选择Copy All Items…,在弹出的窗口中填写文件名即可保存log。
A)modem assert需要抓取的信息保存log(若是SLOG应该先导出)使用ArmLogel工具—Assert---Assert MS,敲t打印memory信息,并保存,如果t 敲不出来,可以多敲几次试试,实在不行敲1-9的数字偶现还是必现(即assert后拔电板重新开机重现,是否还可以重现)B)出现定屏,变砖或者唤不醒怎么办首先记录发生定屏的确切时间,和操作步骤;逐个确认各个按键和touch是否还有反应,此时不要随意按组合键;确认adb是否可以连接?adb shell命令是否可以登录到手机?如果adb能够连接,请使用adb shell slogctl screen 命令进行截图。
等待30s以上确认现象:背光是否还有亮?屏幕上是否有内容?如果以上都没有反应,尝试拨打此电话看是否能接通,并记录。
强制kernel触发panic,从而使系统重启。
如定屏,无法唤醒等现象发生时,可以通过组合键重启系统。
例如shark的组合键定义为:volume up + volume down + 2 times power key down即按住音量上、下键不动,同时双击电源键。
重启后等待当手机系统发生异常重启(包括使用组合键强制重启)时,在重启过程中会进行memory dump操作,即将内存以文件形式保存在sd卡根目录下,再用slog导出,这些文件会被保存在slog目录下的system dump文件夹下如果以上都动作都不起作用,组合键也重启失败,长按7s power key重启手机,拔电池原则上是不能做的。
开机后连接adb:adb pull /data/dontpanic/apanic_consoleadb pull /data/dontpanic/apanic_threads以上两个文件如果发生了panic,就会有log存储下来。
adb pull /proc/last_kmsg (这个不一定有,只有在reboot的情况下才会有这个文件) 抓取log,并记录时间C)彩信异常,如无下载,附件显示问题,彩信收发条数异常等现象erdebug版本在获取root权限后可通过adb 命令拿到数据库文件以及彩信附件:a.数据库文件位置:/data/data/com.android.providers.telephony/databases/mmssms.db彩信附件位置:/data/data/com.android.providers.telephony/app_parts/b.获取相关文件到当前目录下adb pull/data/data/com.android.providers.telephony/databases/mmssms.dbadb pull /data/data/com.android.providers.telephony/app_parts/er版本无法直接拿到数据库等文件,可通过间接方式获取:使用系统中自带的“备份恢复”应用,将短彩信备份,然后将备份包发过来,我们在恢复短彩信数据,即可拿到测试数据。
高通平台ramdumpramdump 是什么?简单来说就是把系统memory中的某一个时间点的的数据信息通过一定手段取出来保存起来的内存崩溃文件,属于ELF文件格式。
当系统发生致命错误无法恢复的时候,主动触发抓取ramdump 把异常现场保留下来供离线分析定位问题是一种非常重要的高级调试手段。
高通的ramdump触发后可以连USB通过PC工具拉出来,都是一堆binary文件,需要使用特定的脚本工具进一步解析后才可以使用工具调试,如下简单描述如何使用脚本工具解析出 ramdump:1、将下面的脚本内容保存到: ~/work/script/ramdump-parser.sh,修改~/.bashrc,并添加到环境变量:export PATH=~/work/script/:$PATH# ramdump-parser.sh#! /bin/bashecho""echo"Start ramdump parser.."local_path=$PWDramdump=$local_path/vmlinux=$local_path/vmlinuxout=$local_path/outgdb=~/tools/gnu-tools/aarch64-linux-android-4.9/bin/aarch64-linux-android-gdbnm=~/tools/gnu-tools/aarch64-linux-android-4.9/bin/aarch64-linux-android-nmobjdump=~/tools/gnu-tools/aarch64-linux-android-4.9/bin/aarch64-linux-android-objdump# git clone git:///quic/la/platform/vendor/qcom-opensource/toolsramparse_dir=~/tools/ramdump/tools/linux-ramdump-parser-v2############################################# ###########################################echo"cd $ramparse_dir"cd$ramparse_direcho""echo -e "python ramparse.py -v $vmlinux -g $gdb -n $nm -j $objdump -a $ramdump -o $out -x"echo""# python 2.7.5python ramparse.py -v $vmlinux-g $gdb-n $nm-j $objdump -a $ramdump -o $out -xcd$local_pathecho"out: $out"echo""exit02、从下面的地址取下高通解析工具:android@ubuntu:~/tools/ramdump$ git clonegit:///quic/la/platform/vendor/qcom-opensource/tools正克隆到'tools'...remote: Counting objects:4698, done.remote: Compressing objects:100% (47/47), done.remote: Total 4698 (delta 25), reused 0 (delta 0)接收对象中:100% (4698/4698), 753.66KiB | 116.00KiB/s, done.处理 delta 中:100% (3452/3452), done.检查连接... 完成。
MTK AEE抓log原理1. 概述MTK AEE(Advanced Error Reporting)是联发科技(MediaTek)为其处理器(MTK 芯片)开发的一个错误报告机制。
它可以帮助开发人员快速定位和解决软件和硬件问题,提高产品质量和稳定性。
MTK AEE抓log是指在MTK芯片上运行的Android系统中,通过AEE模块记录和收集系统运行时的异常和错误信息,并生成相应的日志文件。
这些日志文件可以包含关于应用程序、驱动程序、系统服务等各个层面的错误信息,有助于开发人员分析和修复问题。
2. MTK AEE模块MTK AEE模块是一个运行在MTK芯片上的软件模块,负责错误报告的生成和管理。
它包含以下几个主要组件:2.1 AEE DaemonAEE Daemon是MTK AEE模块的核心组件,负责监控系统的运行状态并收集错误信息。
它通过注册一系列的回调函数,来捕获系统中的异常事件,如崩溃、死锁、内存溢出等。
一旦发生异常事件,AEE Daemon会收集相关的调试信息,并将其保存在缓冲区中。
2.2 AEE CoreAEE Core是AEE模块的另一个核心组件,负责将收集到的错误信息进行处理和分析。
它会将错误信息转换为特定的格式,并生成相应的日志文件。
AEE Core还可以根据一些预定义的规则,对错误信息进行过滤和分类,以便开发人员更好地理解和处理问题。
2.3 AEE ModuleAEE Module是AEE模块的扩展组件,用于支持特定的功能或应用场景。
例如,AEE 模块可以提供对特定硬件模块(如摄像头、传感器)的错误报告支持,或者支持对特定应用程序的错误追踪。
3. MTK AEE抓log流程MTK AEE抓log的流程可以分为以下几个步骤:3.1 异常事件触发MTK AEE模块通过注册一系列的回调函数来捕获系统中的异常事件。
这些异常事件可以是应用程序崩溃、系统服务死锁、驱动程序错误等。
一旦发生异常事件,MTK AEE模块就会被激活。