Friday, April 7, 2017

Android Crash analysis tips

                    CRASH Analysis

Crash(Analyze linux crash dump data or a live system) and gdb are both interactive tools, where the user by using a command line interface can analyze
the crash in much more details.

Trace 32(Lautherbach) is a hardware debugger used primary on modified phones and breakout boards.

readelf and addr2line are standard linux tools to examine elf files, e.g. read symbolic informatiion or finding the corresponding
source code giving a PC (program counter) value.


BugReport:
1. It is normally stored on the SD-card (/sdcard/BugReport/BugReport-<IMEI>-date&time.gz
2. log file requires 250KB+ free space.
3. "adb bugreport" can be used to generate the bugreport.
4. chkBugReport is a tool that does some parsing and visualization for the bugreports.(https://github.com/sonyxperiadev/ChkBugReport)
    4.1. it will generate a PDF and contain following info: errros,vm traces, system and event log, Ftrace, Battery history, CPU freq, SurfaceFlinger.
    4.2. It contains all process and thier stack traces at the point of saveing the bugreport.
         it also does some simple main thread violation check.
    4.3. Also, if there is a deadlock between the thread(circular dependency/waiting), that will be reported as well.
    4.4. Event log extracts the log generated by the ActivityManager (am_*) and plots a chart showing the running activities and services
    4.5. Crash Info page tries to show all relevent information that can be found in vmcore file(eg. if carash notes information about current process,
         crash register is available)


Find the source (line number where crash happen)
addr2line -e bluetooth.default.so 0x8200345a --> btif_config.c:144
using abouve command line tool (addr2line) we can find the corresponding source code line, in this case line 144 in btif_config.c

from the log we will the address 0x8200345a in program counter
NOTE: we need the same execuitable/.so file where the crash happen.


Android log files can view using the following commands:
1. adblog -m (main)
2. adblog -s (system)
3. adblog -e (event)
4. adblog -r (radio)





No comments:

Post a Comment

Qualcomm Short Term

  113 is the SL. 1st Target by mid July.

Total Pageviews